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

Instrument goProbe with metrics #173

Closed
els0r opened this issue Aug 7, 2023 · 0 comments · Fixed by #174
Closed

Instrument goProbe with metrics #173

els0r opened this issue Aug 7, 2023 · 0 comments · Fixed by #174
Assignees
Labels
api Anything concerning endpoints for goProbe's APIs feature New feature or request performance Performance / optimization related topics
Milestone

Comments

@els0r
Copy link
Owner

els0r commented Aug 7, 2023

For #74 and related issues (especially the performance relevant once), it has become increasingly clear that we need more eyes. This issue follows up on #160 to make sure we collect more performance relevant telemetry from goProbe.

The will be of the form goprobe_<sub system>_<name>

Name Type Description
Capture
goprobe_capture_packets_processed_total Counter Counts the total number of packets processed across all interfaces. Modified every 5 minutes as part of the stats collection during writeout
goprobe_capture_packets_dropped_total Counter Counts the total number of packets dropped across all interfaces. Modified every 5 minutes as part of the stats collection during writeout
goprobe_capture_errors_total Counter Counts the total number of capture errors across all interfaces. Modified on demand when error occurs
Capture Manager
goprobe_capture_manager_writeout_duration_seconds Histogram Observes the total writeout time. Buckets: 1ms, 5ms, 10ms, 25ms, 50ms, 100ms, 250ms, 500ms, 1s, 5s
goprobe_capture_manager_interfaces_capturing_total Gauge Counts the number of interfaces that are currently capturing traffic
API
goprobe_api_request_duration_seconds HistogramVec Observes the request duration. Buckets: 10ms, 50ms, 100ms, 250ms, 1s, 5s, 10s, 30s, 60s, 300s. The lower range is for status commands, the upper ones for invocations of _query. Will be refined for global-query in separate issue. Labels: host, method, path, status_code

DoD:

  • set up /metrics endpoint in goProbe
  • implement the main metrics and register them

Bonus:

  • Investigate the use of vectors in case interface cardinality is low (make optional)
@els0r els0r added this to the v4 Release milestone Aug 7, 2023
@els0r els0r self-assigned this Aug 7, 2023
@els0r els0r added feature New feature or request api Anything concerning endpoints for goProbe's APIs performance Performance / optimization related topics labels Aug 7, 2023
@els0r els0r closed this as completed in #174 Aug 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api Anything concerning endpoints for goProbe's APIs feature New feature or request performance Performance / optimization related topics
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant