You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Sep 17, 2025. It is now read-only.
Context: I've been using Azure Application Insights / Monitor practically on daily basis in last few years. As of recently this was from C# .NET based apps and services using TelemetryClient and for the metrics specifically there is a dead simple method TrackMetric(string name, double value, IDictionary<string, string> properties = null).
Now I have to do the same from python and discovered opencensus.
Question: In opencesus; specifically opencensus-ext-azure and examples such as this one; publishing metrics seems to be much more complex enterprise. There seems to 7-9 moving parts such as measure, measure_map, view, view_manager, starts_recorder, exporter, etc. These have to be orchestrated together and they seem to have different lifetimes / existence scopes and call dependencies (such as MeasurementMap.measure_*_put and MeasurementMap.record). So my question is, why is there such complexity?
And please do not take this question as some critique of the API. I'm genuinely interested.
Context: I've been using Azure Application Insights / Monitor practically on daily basis in last few years. As of recently this was from C# .NET based apps and services using TelemetryClient and for the metrics specifically there is a dead simple method
TrackMetric(string name, double value, IDictionary<string, string> properties = null).Now I have to do the same from python and discovered opencensus.
Question: In opencesus; specifically opencensus-ext-azure and examples such as this one; publishing metrics seems to be much more complex enterprise. There seems to 7-9 moving parts such as measure, measure_map, view, view_manager, starts_recorder, exporter, etc. These have to be orchestrated together and they seem to have different lifetimes / existence scopes and call dependencies (such as
MeasurementMap.measure_*_putandMeasurementMap.record). So my question is, why is there such complexity?And please do not take this question as some critique of the API. I'm genuinely interested.