-
Notifications
You must be signed in to change notification settings - Fork 626
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
PushController.tick keeps GIL for the time depeding on the amount of lables and metrics #1142
Comments
I can quickly reproduce the problem by generating random values labels in the metric. Why does the exporter performance depends on the number of different values of a label? |
Is there a simple way to run the OpenTelemetry in a dedicated Python instance, a dedicated process? Ultimately I want the UpDownCounter.add() API to copy the data to a shared memory, send an event, and return. OpenTelemetry process picks the data from the shared memory and performs it's magic. |
@haarakdy you are using the old exporter that's no longer supported/maintained. please track the progress here #933. Is there a simple way to run the OpenTelemetry in a dedicated Python instance, a dedicated process? Ultimately I want the UpDownCounter.add() API to copy the data to a shared memory, send an event, and return. OpenTelemetry process picks the data from the shared memory and performs it's magic. Not sure what you are referring to here. Please create another feature-request issue to start the discussion. |
I am using PrometheusRemoteWriteMetricsExporter and Logz.io
In my tests OpenTelemetry's tick() keeps GIL for up to 10ms when the number of metrics is 20, and average number of labels is 6
I measure the GIL availability using a loop like in the class below. The
py-spy record ...
confirms the result.In my application I have a constraint for the response latency. The constraint is not very tight. I have a budget of few 100s of milliseconds. OpenTelemetry's tick is not the only loop in the system. If I use more than a few metrics I start to see the impact.
This patch solves the problem
The text was updated successfully, but these errors were encountered: