feat(analytics): add Prometheus metrics plugin #8315
+378
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Adds
@opencode-ai/analyticsplugin that provides Prometheus-compatible metrics for OpenCode observability.Changes
packages/analyticspackage with:tool.execute.before/tool.execute.afterhooks for timing tool executionseventhooks for session trackingmetricstool to retrieve current metricsMetrics Exposed
Counters
opencode_tool_calls_total{tool, status}- Tool calls by name and statusopencode_messages_total{type}- Messages by typeopencode_errors_total{type}- Errors by typeHistograms
opencode_tool_duration_ms{tool}- Tool execution durationGauges
opencode_sessions_active- Active session countopencode_tool_calls_inflight{tool}- In-flight tool callsUsage
{ "plugin": ["@opencode-ai/analytics"] }Then use the
metricstool to get Prometheus-format output.Motivation
Enables observability for OpenCode deployments - track tool performance, identify slow tools, monitor session activity, and integrate with existing Prometheus/Grafana infrastructure.