Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE] Out of the box New Relic PHP agent support #216

Open
normalerweise opened this issue Jul 26, 2024 · 3 comments · May be fixed by #219
Open

[FEATURE] Out of the box New Relic PHP agent support #216

normalerweise opened this issue Jul 26, 2024 · 3 comments · May be fixed by #219
Labels
enhancement New feature or request

Comments

@normalerweise
Copy link

Is your feature request related to a problem?

Using OpenSearch client in combination with New Relic (e.g. when migrating from Elasticsearch)
does not work immediately. I.e. OpenSearch client does not get instrumented, so no span for the OpenSearch requests gets created. So the time the OpenSearch request takes gets attributed to time spend in PHP in New Relic.
This distorts and complicates run-time analysis.

The reason is using an old and relatively unmaintained dependency ezimuel/ringphp instead of up to date version of Guzzle Library.
See here))) and here

What solution would you like?

Upgrade to work with Guzzle HTTP client library 7

What alternatives have you considered?

Dealing with custom instrumentation

Do you have any additional context?

none

@normalerweise normalerweise added enhancement New feature or request untriaged labels Jul 26, 2024
@shyim
Copy link
Collaborator

shyim commented Jul 26, 2024

I would not use Guzzle when we change the HTTP client. https://www.php-fig.org/psr/psr-7/ and https://www.php-fig.org/psr/psr-18/ are better I think.

Just using Guzzle because a random provider has support for it feels wrong, and in my opinion, they developed it wrong. They should instrument curl and not a specific Http Client library implementation which other providers like Blackfire, Tideways, Datadog do.

@dblock
Copy link
Member

dblock commented Jul 26, 2024

Thanks for reporting this @normalerweise.

1. Is there a trivial fix like a version upgrade of a dependency?
2. In other languages I see clients support multiple HTTP clients/adapters. In java we have 3, in Ruby we use Faraday that is flexible, etc. @shyim do you think it makes sense to add support for Guzzle next to whatever we have here now?
3. @normalerweise Would you like to try and contribute any of the above? We could really use some help.

I started upgrading Guzzle in https://github.com/dblock/opensearch-php/tree/upgrade-guzzle. There are ... a lot of changes.

@dblock dblock linked a pull request Aug 7, 2024 that will close this issue
@dblock dblock removed the untriaged label Aug 19, 2024
@dblock
Copy link
Member

dblock commented Aug 19, 2024

Catch All Triage - 1, 2, 3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants