-
Notifications
You must be signed in to change notification settings - Fork 428
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
Instrument/metric improvements #4249
Instrument/metric improvements #4249
Commits on Mar 22, 2024
-
Wrap instrumentation handler call in try..catch, and log error
- Failing handlers shouldn't cause the instrumented code to crash - Subsequent handlers should still be executed - There is no removal of broken handlers (like telemetry), because that would put the system in an inconsistent state if a handler fails intermittently.
Configuration menu - View commit details
-
Copy full SHA for 4024654 - Browse repository at this point
Copy the full SHA 4024654View commit details -
Configuration menu - View commit details
-
Copy full SHA for abfbc7b - Browse repository at this point
Copy the full SHA abfbc7bView commit details -
Add optional start/0 and stop/0 callbacks to mongoose_instrument
The goal is to allow automatic initialisation/cleanup.
Configuration menu - View commit details
-
Copy full SHA for 8898e88 - Browse repository at this point
Copy the full SHA 8898e88View commit details
Commits on Mar 25, 2024
-
Use the start and stop callbacks in mongoose_instrument_event_table
This way start and stop operations are more organised, and the functionality is tested.
Configuration menu - View commit details
-
Copy full SHA for cfa2732 - Browse repository at this point
Copy the full SHA cfa2732View commit details -
Export more types from mongoose_instrument
- The goal is to use them in the handler modules. - label_key and label_value are a bit repetitive, but this way the specs are as strict as possible. If the list grows longer, we could make the type more generic instead of enumerating all values.
Configuration menu - View commit details
-
Copy full SHA for 206b3fb - Browse repository at this point
Copy the full SHA 206b3fbView commit details -
Improve mongoose_instrument_exometer
1. Support the 'all_hosts_are_global' option 2. Move prefix management from mongoose_metrics to eliminate the dependency on legacy code. 3. Reset already existing metrics on setup. The goal is to have fresh repeatable metric state if you restart mongoose_instrument in tests. There is no metric removal, because it doesn't seem to be needed.
Configuration menu - View commit details
-
Copy full SHA for f724934 - Browse repository at this point
Copy the full SHA f724934View commit details -
Test 'all_metrics_are_global' for exometer
More initialisation is needed because of host-type prefix handling.
Configuration menu - View commit details
-
Copy full SHA for d60d8bc - Browse repository at this point
Copy the full SHA d60d8bcView commit details -
Improve mongoose_instrument_prometheus
1. Add type specs. 2. Use strings as metric names to avoid calling 'list_to_atom'. This doesn't seem to have a big performance penalty. 3. Reset already existing metrics on startup, just like for exometer. 4. Initialise counters with zero - previous initial value was 'undefined', resulting in a delay in initial rate metric calculation in Prometheus.
Configuration menu - View commit details
-
Copy full SHA for 96d8a21 - Browse repository at this point
Copy the full SHA 96d8a21View commit details -
Update Prometheus metric tests
Metric name is now a string, not an atom.
Configuration menu - View commit details
-
Copy full SHA for b768315 - Browse repository at this point
Copy the full SHA b768315View commit details