Skip to content

Conversation

Eternity1824
Copy link
Contributor

Summary

This PR introduces a design document for the eBPF Sidecar Agent of BanyanDB.

The doc outlines the high-level scope, architecture, and modularization plan for kernel-level observability, focusing on page cache miss monitoring and related metrics.

Motivation

  • Provide a dedicated place for discussion and review of the design.
  • Align with the maintainer on scope and planned modularization before implementation.

Key Topics

  • High-level architecture of the eBPF sidecar (collector, exporter, loader, server).
  • Planned modularization (I/O monitor, cache monitor, export, integration).

Notes

  • The design doc is draft / RFC, not final.
  • Attachment points (tracepoints/kprobes) listed are illustrative, subject to change during implementation.
  • No implementation code is included in this PR.

Next Steps

  • Discuss with @hanahmily in the upcoming meeting.
  • Based on feedback, refine scope and split follow-up design docs by module.

Comment on lines 25 to 32
┌─────────────────────────────────────────────────────────┐
│ User Applications │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ BanyanDB │ │ Prometheus │ │ Grafana │ │
│ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ │
└─────────┼──────────────────┼──────────────────┼─────────┘
│ Native Export │ Scrape │ Query
▼ ▼ ▼
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why does Grafana even get involved? This seems unreasonable. Query from Grafana should go to Prometheus.
And if Prometheus needs to scrape metrics from BanyanDB, please do via BanyanDB Prometheus endpoint directly.
There is no point to propagate and store metrics in two places.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Exactly. Grafana should query metrics from prom .

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Got it. Metrics will be scraped by Prometheus from BanyanDB, and Grafana will only be used for visualization by querying Prometheus.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants