Caddy.Telemetry (Caddy v2.1.3)

View Source

Telemetry integration for Caddy reverse proxy server monitoring.

Provides metrics and events for configuration changes, server lifecycle, API operations, and performance monitoring.

Summary

Functions

Attaches a telemetry handler for common Caddy events.

Detaches a telemetry handler.

Emits a telemetry event for adaptation operations.

Emits a telemetry event for API operations.

Emits a telemetry event for configuration changes.

Emits a telemetry event for file operations.

Emits a telemetry event for server lifecycle events.

Emits a telemetry event for configuration validation.

Returns list of all Caddy telemetry events.

Starts telemetry poller for periodic metrics.

Functions

attach_handler(handler_name, events, fun)

@spec attach_handler(atom(), list(), function()) :: :ok | {:error, term()}

Attaches a telemetry handler for common Caddy events.

detach_handler(handler_name)

@spec detach_handler(atom()) :: :ok

Detaches a telemetry handler.

emit_adapt_event(result, measurements \\ %{}, metadata \\ [])

@spec emit_adapt_event(atom(), map(), keyword() | map()) :: :ok

Emits a telemetry event for adaptation operations.

emit_api_event(event_type, measurements \\ %{}, metadata \\ [])

@spec emit_api_event(atom(), map(), keyword() | map()) :: :ok

Emits a telemetry event for API operations.

emit_config_change(event_type, measurements \\ %{}, metadata \\ [])

@spec emit_config_change(atom(), map(), keyword() | map()) :: :ok

Emits a telemetry event for configuration changes.

emit_file_event(operation, measurements \\ %{}, metadata \\ [])

@spec emit_file_event(atom(), map(), keyword()) :: :ok

Emits a telemetry event for file operations.

emit_server_event(event_type, measurements \\ %{}, metadata \\ [])

@spec emit_server_event(atom(), map(), keyword() | map()) :: :ok

Emits a telemetry event for server lifecycle events.

emit_validation_event(result, measurements \\ %{}, metadata \\ [])

@spec emit_validation_event(atom(), map(), keyword() | map()) :: :ok

Emits a telemetry event for configuration validation.

list_events()

@spec list_events() :: list()

Returns list of all Caddy telemetry events.

start_poller(interval_ms \\ 30000)

@spec start_poller(non_neg_integer()) :: {:ok, pid()} | {:error, term()}

Starts telemetry poller for periodic metrics.