This package provides auto-instrumentation for PHP's native session functions.
composer require open-telemetry/opentelemetry-auto-session
The instrumentation hooks into PHP's native session functions to provide tracing capabilities. It automatically creates spans for session operations like session_start()
and session_destroy()
.
<?php
// Make sure to initialize the OpenTelemetry SDK before using sessions
// ...
// Register the PHP Session instrumentation
\OpenTelemetry\Contrib\Instrumentation\PhpSession\PhpSessionInstrumentation::register();
// Now any session operations will be automatically traced
session_start();
// ... your code ...
session_destroy();
When session_start()
is called, a span named session.start
is created with the following attributes:
code.function_name
: The function name (session_start
)php.session.options.*
: Any options passed tosession_start()
php.session.id
: The session ID (if session was successfully started)php.session.name
: The session name (if session was successfully started)php.session.status
: Either "active" or "inactive"php.session.cookie.*
: Session cookie parameters
When session_destroy()
is called, a span named session.destroy
is created with the following attributes:
code.function_name
: The function name (session_destroy
)php.session.id
: The session ID (if available)php.session.name
: The session name (if available)
When session_write_close()
is called, a span named session.write_close
is created with the following attributes:
code.function.name
: The function name (session_write_close
)php.session.id
: The session ID (if available)php.session.name
: The session name (if available)
When session_unset()
is called, a span named session.unset
is created with the following attributes:
code.function.name
: The function name (session_unset
)php.session.id
: The session ID (if available)php.session.name
: The session name (if available)
When session_abort()
is called, a span named session.abort
is created with the following attributes:
code.function.name
: The function name (session_abort
)php.session.id
: The session ID (if available)php.session.name
: The session name (if available)
Apache 2.0