otel_serverpod 0.2.0 copy "otel_serverpod: ^0.2.0" to clipboard
otel_serverpod: ^0.2.0 copied to clipboard

OpenTelemetry instrumentation for Serverpod. One call opens http.server spans per endpoint method, db.* client spans for the database layer, and request-duration metrics.

example/main.dart

// The whole wiring diff for a generated Serverpod project's
// `lib/server.dart` — three added lines, marked below.
//
// In a real project `Protocol` and `Endpoints` come from `serverpod
// generate`; minimal stand-ins are defined at the bottom so this example
// compiles standalone.

import 'package:dartastic_opentelemetry/dartastic_opentelemetry.dart' show OTel;
import 'package:otel_serverpod/otel_serverpod.dart';
import 'package:serverpod/serverpod.dart';

Future<void> run(List<String> args) async {
  // 1. Initialize OTel first — endpoint + auth come from the standard
  //    OTEL_EXPORTER_OTLP_* environment variables.
  await OTel.initialize(serviceName: 'mypod');

  final pod = Serverpod(
    args,
    Protocol(),
    Endpoints(),
    // 2. Database spans (`find person`, `insert order`, ...) per session.
    databaseInterceptor: OtelServerpod.databaseInterceptor,
  );

  // 3. Endpoint spans and request metrics.
  OtelServerpod.install(pod);

  await pod.start();
}

// --- stand-ins for the `serverpod generate` output -------------------------

/// Generated by `serverpod generate` in a real project.
class Protocol extends DatabaseSerializationManager {
  @override
  Table? getTableForType(Type t) => null;

  @override
  List<Never> getTargetTableDefinitions() => [];
}

/// Generated by `serverpod generate` in a real project.
class Endpoints extends EndpointDispatch {
  @override
  void initializeEndpoints(Server server) {}
}
0
likes
140
points
155
downloads

Documentation

API reference

Publisher

verified publisherdartastic.io

Weekly Downloads

OpenTelemetry instrumentation for Serverpod. One call opens http.server spans per endpoint method, db.* client spans for the database layer, and request-duration metrics.

Homepage
Repository (GitHub)
View/report issues

License

Apache-2.0 (license)

Dependencies

dartastic_opentelemetry, dartastic_opentelemetry_api, serverpod

More

Packages that depend on otel_serverpod