This plugin automatically instruments the http2 module.

By default any option set at the root will apply to both clients and servers. To configure only one or the other, use the client and server options.

interface http2 {
    allowlist?: string | RegExp | ((urlOrPath) => boolean) | (string | RegExp | ((urlOrPath) => boolean))[];
    blocklist?: string | RegExp | ((urlOrPath) => boolean) | (string | RegExp | ((urlOrPath) => boolean))[];
    client?: boolean | Http2Client;
    enablePropagationWithAmazonHeaders?: boolean;
    enabled?: boolean;
    headers?: string[];
    measured?: boolean | {
        [key: string]: boolean;
    };
    server?: boolean | Http2Server;
    service?: any;
    splitByDomain?: boolean;
    validateStatus?: ((code) => boolean);
}

Hierarchy

  • Http2Client
  • Http2Server
    • http2

Properties

allowlist?: string | RegExp | ((urlOrPath) => boolean) | (string | RegExp | ((urlOrPath) => boolean))[]

List of URLs/paths that should be instrumented.

Note that when used for an http client the entry represents a full outbound URL (https://example.org/api/foo) but when used as a server the entry represents an inbound path (/api/foo).

Type declaration

    • (urlOrPath): boolean
    • Parameters

      • urlOrPath: string

      Returns boolean

Default

/^.*$/
blocklist?: string | RegExp | ((urlOrPath) => boolean) | (string | RegExp | ((urlOrPath) => boolean))[]

List of URLs/paths that should not be instrumented. Takes precedence over allowlist if a URL matches an entry in both.

Note that when used for an http client the entry represents a full outbound URL (https://example.org/api/foo) but when used as a server the entry represents an inbound path (/api/foo).

Type declaration

    • (urlOrPath): boolean
    • Parameters

      • urlOrPath: string

      Returns boolean

Default

[]
client?: boolean | Http2Client

Configuration for HTTP clients.

enablePropagationWithAmazonHeaders?: boolean

Enable injection of tracing headers into requests signed with AWS IAM headers. Disable this if you get AWS signature errors (HTTP 403).

Default

false
enabled?: boolean

Whether to enable the plugin.

Default

true
headers?: string[]

An array of headers to include in the span metadata.

Default

[]
measured?: boolean | {
    [key: string]: boolean;
}

Whether to measure the span. Can also be set to a key-value pair with span names as keys and booleans as values for more granular control.

Type declaration

  • [key: string]: boolean
server?: boolean | Http2Server

Configuration for HTTP servers.

service?: any

The service name to be used for this plugin.

splitByDomain?: boolean

Use the remote endpoint host as the service name instead of the default.

Default

false
validateStatus?: ((code) => boolean)

Callback function to determine if there was an error. It should take a status code as its only parameter and return true for success or false for errors.

Type declaration

    • (code): boolean
    • Parameters

      • code: number

      Returns boolean

Default

code => code < 400 || code >= 500