mirror of
https://github.com/photoprism/photoprism.git
synced 2026-03-02 22:57:18 -05:00
Metrics: Add OpenTelemetry (OTLP) integration #2455
Labels
No labels
ai
android
api
auth
awesome
bug
bug
ci
cli
config
database
declined
deprecated
docker
docs 📚
documents
duplicate
easy
enhancement
enhancement
enhancement
epic
faces
feedback wanted
frontend
hacktoberfest
help wanted
idea
in-progress
incomplete
index
invalid
ios
labels
live
live
low-priority
macos
member-feature
metadata
mobile
nas
needs-analysis
no-coding-required
no-coding-required
observability
performance
places
please-test
plus-feature
priority
pro-feature
question
raspberry-pi
raw
released
released
released
research
resolved
security
sharing
tested
tests
third-party-issue
thumbnails
upgrade
upstream-issue
ux
vector
video
waiting
won't fix
won't fix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/photoprism#2455
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @lastzero on GitHub (Dec 11, 2025).
Originally assigned to: @lastzero on GitHub.
As a professional user, I want PhotoPrism Pro to support the export of traces, metrics and logs via OpenTelemetry (for example, to SigNoz or any other OTLP-compatible backend), so that I can monitor and troubleshoot team and organisational deployments within a unified observability stack.
1. Scope / Signals
2. Dependencies & Libraries
Add / promote the following Go dependencies (SDK + contrib):
database/sql/ ORM(See links below for concrete packages and docs.)
3. Configuration
Introduce a small, Pro-only config surface for OpenTelemetry:
Enablement
OTLP endpoint & protocol
Identity / resource attributes
photoprism), environment (prod,staging, etc.), version.Sampling & limits
Logs
Existing Prometheus metrics endpoint stays supported for backward compatibility.
4. Implementation Proposal
Initialization
TracerProvider,MeterProvider, and optionallyLoggerProviderconfigured with:otel.SetTracerProvider,otel.SetMeterProvider, etc.HTTP / API layer
Indexing & import pipeline
file.count,duration,error.count,storage.backend.Database interactions
database/sqlor ORM calls with spans:Background jobs
Logs correlation
trace_id/span_idso that SigNoz can correlate logs ↔ traces.Docs & examples (Pro)
Libraries, Documentation & Examples
OpenTelemetry Go SDK:
https://github.com/open-telemetry/opentelemetry-go
https://opentelemetry.io/docs/languages/go/
OTLP exporters and configuration:
https://opentelemetry.io/docs/languages/go/exporters/
https://opentelemetry.io/docs/languages/sdk-configuration/otlp-exporter/
https://github.com/open-telemetry/opentelemetry-proto
https://opentelemetry.io/docs/specs/otlp/
Go instrumentation helpers:
https://github.com/open-telemetry/opentelemetry-go-contrib
https://opentelemetry.io/docs/languages/go/instrumentation/
SigNoz + OpenTelemetry:
https://signoz.io/docs/instrumentation/
https://signoz.io/docs/instrumentation/opentelemetry-golang/
Background / examples:
https://emdneto.github.io/opentelemetry-by-example/go/
https://betterstack.com/community/guides/observability/otlp/
Acceptance Criteria