opentelemetry-instrumentation-remix
v0.8.0
Published
open telemetry instrumentation for the `remix` package
Downloads
348,245
Readme
OpenTelemetry Remix Instrumentation for Node.js
This module provides automatic instrumentation for remix
.
Installation
npm install --save opentelemetry-instrumentation-remix
Supported Versions
1.1.0 - 2.x
Cloudflare Worker Warning
This instrumentation does NOT support Cloudflare Workers. For more details follow opentelemetry-js issue #1214.
Usage
For 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<string, boolean | string> | { _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
requestHandler
Emitted for every request into remix server.
| Operation | Example | Notes |
|-----------------------------|--------------------------------|-------------------------------------------------------------------------------------|
| remix.request [routePath]
| remix.request /jokes/:jokeId
| If the request does not match a route, the name of the span will be remix.request
|
| 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.route
| HTTP route path, added if the request matches a route | "/jokes/:jokeId"
|
| http.status_code
| Response status code | 200
|
| match.route.id
| Remix matched route ID, added if the request matches a route | "routes/jokes/$jokeId"
|
| 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 |
loader
Emitted 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 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 |
action
Emitted 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 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 |
License
Apache 2.0 - See LICENSE for more information.