Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
S
Snowflake
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 45
    • Issues 45
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 4
    • Merge Requests 4
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards

GitLab is used only for code review, issue tracking and project management. Canonical locations for source code are still https://gitweb.torproject.org/ https://git.torproject.org/ and git-rw.torproject.org.

  • The Tor Project
    • A
      Anti-censorship
  • Pluggable Transports
  • Snowflake
  • Issues
  • #40024

Closed
Open
Opened Nov 24, 2020 by Philipp Winter@phwOwner

Expose broker metrics for Prometheus?

We are already exposing metrics but we don't have convenient tooling that turns these metrics into charts that are easy to explore and update automatically.

We could solve this problem by exposing these metrics in a format that our Prometheus instance can scrape. I recently did that for bridgestrap, over at tpo/anti-censorship/bridgestrap#4 (closed). It's not a lot of work but the downside is pulling in yet another semi-complex dependency.

If we were to implement this, here's how it would work:

  • The broker serves a new page, e.g. /prometheus-metrics
  • We can use Prometheus's Go client library to deal with metrics.
  • Throughout the code, we can update metrics like this:
    metrics.NumUnrestrictedNatProxies.Inc()

Does the above sound sensible? If so, I can implement a prototype.

Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: tpo/anti-censorship/pluggable-transports/snowflake#40024