OpenTelemetry Remix Instrumentation for Node.js
This module provides automatic instrumentation for remix .
Installationnpm install --save opentelemetry-instrumentation-remix Supported Versions
Cloudflare Worker WarningThis instrumentation does NOT support Cloudflare Workers. For more details follow opentelemetry-js issue #1214 .
UsageFor further automatic instrumentation instruction see the @opentelemetry/instrumentation package.
const { NodeTracerProvider } = require ( '@opentelemetry/sdk-trace-node' ) ;
const { registerInstrumentations } = require ( '@opentelemetry/instrumentation' ) ;
const { RemixInstrumentation } = require ( 'opentelemetry-instrumentation-remix' ) ;
const tracerProvider = new NodeTracerProvider ( ) ;
tracerProvider. register ( ) ;
registerInstrumentations ( {
instrumentations : [
new RemixInstrumentation ( )
]
} ) ; Configuration
Name
Type
Default Value
Description
actionFormDataAttributes
Record
{ _action: "actionType" }
Mapping of FormData field to span attribute names.
legacyErrorAttributes
boolean
false
Whether to emit errors in the form of span attributes, as well as in span exception events.
Instrumentation requestHandlerEmitted for every request into remix server.
Attribute
Description
Example Value
code.function
Name of executed function
"requestHandler"
http.method
HTTP method
"POST"
http.url
HTTP URL
"https://remix.jokes/jokes/new?_data=routes%2Fjokes%2Fnew"
http.status_code
Response status code
200
error
Added if error detected and if legacyErrorAttributes enabled
true
exception.message
Error message, if legacyErrorAttributes enabled and if applicable
"Kaboom!"
exception.stacktrace
Error stacktrace, if legacyErrorAttributes enabled and if applicable
[stacktrace]
Status Code
Description
SpanStatusCode.ERROR
When an exception occurs during evaluation
Event
Attributes
Description
Exception
exception.message
Error message, if applicable
exception.stacktrace
Error stacktrace, if applicable
loaderEmitted for every loader called.
Operation
Example
LOADER [routeId]
LOADER routes/jokes/$jokeId
Attribute
Description
Example Value
code.function
Name of executed function
"loader"
http.method
HTTP method
"POST"
http.url
HTTP URL
"https://remix.jokes/jokes/new?_data=routes%2Fjokes%2Fnew"
http.status_code
Response status code
200
match.route.id
Remix matched route id
"routes/jokes/$jokeId"
match.params.[paramName]
Value for each remix matched param
[match.params.jokeId]: 23fc7bcf-2d35-4c70-877f-338eca1fd3ef"
error
Added if error detected
true
exception.message
Error message, if legacyErrorAttributes enabled and if applicable
"Kaboom!"
exception.stacktrace
Error stacktrace, if legacyErrorAttributes enabled and if applicable
[stacktrace]
Status Code
Description
SpanStatusCode.ERROR
When an exception occurs during evaluation
Event
Attributes
Description
Exception
exception.message
Error message, if applicable
exception.stacktrace
Error stacktrace, if applicable
actionEmitted for every action called.
Operation
Example
ACTION [routeId]
ACTION routes/jokes/new
Attribute
Description
Example Value
code.function
Name of executed function
"action"
http.method
HTTP method
"POST"
http.url
HTTP URL
"https://remix.jokes/jokes/new?_data=routes%2Fjokes%2Fnew"
http.status_code
Response status code
200
match.route.id
Remix matched route id
"routes/jokes/$jokeId"
match.params.[paramName]
Value for each remix matched param
[match.params.jokeId]: "23fc7bcf-2d35-4c70-877f-338eca1fd3ef"
formData.[fieldName]
Value for each configured FormData field
[formData.actionType]: "createJoke"
error
Added if error detected
true
exception.message
Error message, if legacyErrorAttributes enabled and if applicable
"Kaboom!"
exception.stacktrace
Error stacktrace, if legacyErrorAttributes enabled and if applicable
[stacktrace]
Status Code
Description
SpanStatusCode.ERROR
When an exception occurs during evaluation
Event
Attributes
Description
Exception
exception.message
Error message, if applicable
exception.stacktrace
Error stacktrace, if applicable
LicenseApache 2.0 - See LICENSE for more information.