-
Notifications
You must be signed in to change notification settings - Fork 7
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
Metrics #18
Comments
I will be happy to help and build Zabbix template "evitaDB by Prom" |
We'll get in touch before we start working on this issue. ETA is the December 23 / January 24. |
We should also investigate this approach: |
I'd suggest creating a prototype where:
|
It would be interesting also to test https://www.jaegertracing.io/ and its integration into https://grafana.com/docs/grafana/latest/datasources/jaeger/ - it's somehow similar to our #148 and we should discuss whether it makes sense to move toward some standard instead of our proprietary solution (the principle should be very similar so it shouldn't be hard to migrate). |
This should help us too: https://plugins.jetbrains.com/plugin/20937-java-jfr-profiler |
If EvitaDB will be able to use Prometheus format, it is possible to get metrics into Zabbix using https://www.zabbix.com/documentation/current/en/manual/config/items/itemtypes/prometheus it is also possible to use LLD - Low lever Discovery technique for some schema instances etc. |
Notes from first prototype showdown and what needs to be added into the prototype:
|
We'we been recommended by Láďa Prskavec to stick to Prometheus metrics and don't use OTEL for database monitoring purposes. The recommendation was:
The OTEL is then used on SRE side to integrate multiple vendors together. As localhost tracing viewer we've been recommended to use https://github.com/CtrlSpice/otel-desktop-viewer and for shared Grafana service https://grafana.com/oss/tempo/ |
…ules which could be enabled via linking the libraries to the project
…ded order to ExternalApiProviderRegistrar.java to ensure that ObservabilityProviderRegistrar loads before GrpcProviderRegistrar
Introduce metrics into the evitaDB. The servlet for metric should start as separate API on different port (or part of a system API). Although we are used to Prometheus API, we should analyze different options - namely Open Telemetry.
Very minimal set of metrics published at: http://demo.evitadb.io:5557/observability/metrics ... when we get the prototype up and running, we'll expand the metrics list according to the set defined in the issue header. |
We need to update the Monitor docs https://evitadb.io/documentation/operate/monitor with the new IDs. |
We probably don't need to suffix metrics with type - it's visible in the metrics as comment:
|
Unfortunately, Prometheus doesn't propagate native histograms in text format - see prometheus/prometheus#11265, only in Protobuff format, and this is not easily scrapeable.
feat(#18): GraphQL API JFR events and metrics
…on metrics fixes and adjustments
feat(#18): REST and GraphQL API metrics improvements
feat(#18): add OpenAPI operation ID to REST metrics to distinguish requests
feat(#18): count REST endpoints metric
Most of the metrics is done by now. We have also pretty looking dashboard in Grafana that's getting useful. I postpone closing this issue to be finalized later. We still need to:
|
Introduce metrics into the evitaDB. The servlet for metric should start as separate API on different port (or part of a system API). Although we are used to Prometheus API, we should analyze different options - namely Open Telemetry.
Metrics proposals
System metrics
Storage metrics
Transactions
Storage
Per collection
Per catalog
Per instance
Engine metrics
Queries
Per instance
Cache
Web API metrics
The text was updated successfully, but these errors were encountered: