New Relic data dictionary

This data dictionary defines some of our default-reported data stored in NRDB and queryable via NRQL. This includes events like Transaction, MobileRequest, and BrowserInteraction, and our Metric, Log, and Span data types. These definitions are also available from our query builder UI by mousing over applicable data type and attribute names.

This dictionary doesn't contain:

  • Data from our infrastructure integrations (for that, see docs for a specific integration)
  • Custom data
  • Detailed integration-specific attributes for Metric data

LlmChatCompletionMessage

Data source:

An event that corresponds to each message (sent and received) from a chat completion call. These messages include those created by the user, assistant, and system.

Attribute nameDefinitionData types
completion_id
ID

The ID of the LlmChatCompletionSummary event that a message event is connected to.

content

A string value that describes the contents of a message.

id
ID

An agent-generated identifier for the event.

ingest_source

The name of the APM agent that collected the data.

is_response
Boolean

Boolean set to True if a message is the result of a chat completion. The attribute is omitted if False, like in cases where the message is the result of an input.

response.model

The model that returned the response. May or may not match the value for request.model.

role

A string value that describes the source of the message. This varies depending on the LLM vendor, but could have values that represent prompt engineering, the user, or a response from the LLM itself.

sequence

An index associated with each message, including the prompt and responses. Begins at 0.

span_id
ID

The identifier for the span.

token_count

The integer value returned from llm_token_count_callback. Omitted if no value is returned.

trace_id
ID

The identifier for the trace.

vendor

The name of the vendor that provided the model.

LlmChatCompletionSummary

Data source:

An event that captures high level data about the creation of a chat completion for request and response messages.

Attribute nameDefinitionData types
duration
milliseconds (ms)

Total time for the chat or embedding call to complete.

error
Boolean

If the agent detects an error during the creation call, it sets the value to True. Omitted if the agent doesn't detect an error.

id
ID

An agent-generated identifier for the event.

ingest_source

The name of the APM agent that collected the data.

request.max_tokens

An integer value for the maximum number of tokens that can be generated during a chat completion. The value is typically set from a hardcoded configuration.

request.model

The model that processed the request. May or may not match the value for response.model.

request.temperature

An integer value that represents how random or deterministic an output response should be. The threshold for random and deterministic values can vary with vendor and model, but more deterministic responses will be closer to 0. If the number is higher, then it is more random.

request_id
ID

The ID associated with the request, which is typically available in the response headers.

response.choices.finish_reason

A string value containing the reason a model stopped generating tokens.

response.model

The model that returned the response. May or may not match the value for request.model.

response.number_of_messages

An integer value for the number of messages in a completed chat exchange. This includes messages from the system, user, and AI assistant

response.organization

The unique identifier for your organization that can be used in API requests.

span_id
ID

The identifier for the span.

trace_id
ID

The identifier for the trace.

vendor

The name of the vendor that provided the model.

LlmEmbedding

Data source:

An event that captures data specific to the creation of an embedding.

Attribute nameDefinitionData types
duration
milliseconds (ms)

Total time for the chat or embedding call to complete.

error
Boolean

If the agent detects an error during the creation call, it sets the value to True. Omitted if the agent doesn't detect an error.

id
ID

An agent-generated identifier for the event.

ingest_source

The name of the APM agent that collected the data.

input

The text string passed to the embedding creation call.

request.model

The model that processed the request. May or may not match the value for response.model.

request_id
ID

The ID associated with the request, which is typically available in the response headers.

response.model

The model that returned the response. May or may not match the value for request.model.

response.organization

The unique identifier for your organization that can be used in API requests.

span_id
ID

The identifier for the span.

token_count

The integer value returned from llm_token_count_callback. Omitted if no value is returned.

trace_id
ID

The identifier for the trace.

vendor

The name of the vendor that provided the model.

Transaction

Data source:

A transaction is a logical unit of work in a software application, such as HTTP requests, SQL queries, background processes, message queue activity, etc. The Transaction event includes information about the app, database calls, the duration of the transaction, and any errors that may occur.

Attribute nameDefinitionData types
accountId
ID

The unique ID of the account associated with the service/application where the Transaction was created.

appId
ID

The unique numeric identifier assigned by New Relic for the service/app that generated the transaction.

appName

The application name set in the New Relic agent configuration.

databaseCallCount
count

The number of database calls made by this transaction.

databaseDuration
seconds (s)

The database response time in seconds.

duration
seconds (s)

The total server-side response time for the transaction, in seconds. Does not include request queueing time.

error
Boolean

Indicates whether an error was noticed during execution.

errorMessage

(.NET and PHP agents only) This will be server and platform specific. The message contained within an error for the transaction. If an error occurs during a transaction, the error may skew the duration of the event.

errorType

This will be server and platform specific. The class or classification of the error. If multiple errors occur, only the first will be shown. If an error occurs during a transaction, the error may skew the duration of the event.

eventLoopTime
seconds (s)

The time the transaction spent running the event loop. (Python agent only)

eventLoopWait
seconds (s)

Total time the transaction was running while blocked by an event loop process, subject to the threshold. (Python agent only)

externalCallCount
count

The number of external calls made by this transaction.

externalDuration
seconds (s)

The total response time of all external (out-of-process) services, in seconds.

gcCumulative
seconds (s)

(Ruby and Java agents only) The total time spent in garbage collection during this transaction, in seconds.

guid
ID

The identifier for the transaction.

host

The name of the application host that processed this request.

http.statusCode
enum

The HTTP status code associated with the transaction. Some agents use httpResponseCode, which is equivalent.

http.statusText
enum

The response status message for a web request.

httpResponseCode
enum

The HTTP response code associated with the transaction. Some agents use http.statusCode, which is equivalent.

memcacheDuration
seconds (s)

The memcache response time, in seconds.

name

The name of the transaction associated with this data. Ex: Controller/customers/show.

parent.account
ID

If a distributed tracing payload is received, this is the account identifier for the transaction's upstream caller.

parent.app
ID

If a distributed tracing payload is received, this is the application identifier. APM agents retrieve this value in the connect response under the key primary_application_id.

parent.transportDuration

When distributed tracing is enabled and a payload is received, the difference in time between the timestamp given for when the payload was sent and the moment it was processed.

parent.transportType

When a distributed tracing payload is received, the method of transport for the payload. Example values: Unknown, HTTP, HTTPS, Kafka, JMS, IronMQ, AMQP, Queue, or Other.

parent.type

If a distributed trace payload was received, the parent's data source type. Example values: App, Browser, Mobile.

parentId
ID

If a distributed trace payload was received, the guid of this parent transaction.

priority

Likelihood this event will be saved.

queueDuration
seconds (s)

The total time the requester waits for a service to initiate, in seconds.

realAgentId
ID

The ID of the New Relic agent that reported the data.

request.headers.accept

The types as read from the HTTP Accept request header.

request.headers.contentLength
bytes (B)

Incoming request size in bytes as read from the Content-Length HTTP request header.

request.headers.contentType

Incoming request content-type as read from the HTTP request header Content-Type. Example value: application/octet-stream.

request.headers.host

The name from the HTTP host request header.

request.headers.referer

The incoming request referer as read from the Referer request header.

request.headers.userAgent

The contents of the User-Agent HTTP header.

request.method

The HTTP request method used. Example values: POST, GET.

request.uri

The incoming request path of the transaction. This does not include the protocol, host, port, or any query parameters. This is hardcoded into the JSON for transaction traces and, formerly, the error blobs.

response.headers.contentLength
bytes (B)

The outgoing response size in bytes as read from the Content-Length response header.

response.headers.contentType

For an HTTP response, the data type of the returned response. Example values: text/html, application/json.

response.status
enum

The HTTP response code associated with the transaction.

sampled

Indicates whether this event was sampled for inclusion in a distributed trace. Only present when distributed tracing is enabled.

totalTime
seconds (s)

The sum of all async components' duration, in seconds. An async component is a method or function where there is no instrumented encapsulating method or function.

trace.id
ID

The unique ID (a randomly generated string) used to identify a single request as it crosses inter- and intra- process boundaries. This ID allows the linking of spans in a distributed trace. Included when distributed tracing is enabled.

transactionSubType

Provides a more specific level of detail about the transaction than transactionType. Example: Controller or Custom.

transactionType

The type of the transaction. For example: Web or Background (non-web).

tripId
ID

A unique ID (a randomly-generated string) used to identify a single request as it crosses application boundaries. If distributed tracing is enabled, this will be reported as traceId.

webDuration

The duration of the transaction, equivalent to duration.

TransactionError

Data source:

Transaction errors occur when a transaction throws an exception in the code path that was taken to complete that transaction. The number of transaction errors does not equal the number of transactions, because you can specify whether you want to collect, ignore, or mark errors as expected.

Attribute nameDefinitionData types
accountId
ID

The unique ID of the account associated with the service/application where the Transaction was created.

appId
ID

The unique numeric identifier assigned by New Relic for the service/app that generated the transaction.

appName

The application name set in the New Relic agent configuration.

databaseCallCount
count

The number of database calls made by this transaction.

databaseDuration
seconds (s)

The database response time in seconds.

duration
seconds (s)

The total server-side response time for the transaction, in seconds. Does not include request queueing time.

error.class

The class name or type for the error. This will be server and platform specific.

error.expected

Determines whether an error is expected or not. Expected errors do not affect error rates or Apdex.

error.message

The error message for the transaction. This will be server and platform specific.

errorType

This will be server and platform specific. The class or classification of the error. If multiple errors occur, only the first will be shown. If an error occurs during a transaction, the error may skew the duration of the event.

eventLoopTime
seconds (s)

The time the transaction spent running the event loop. (Python agent only)

eventLoopWait
seconds (s)

Total time the transaction was running while blocked by an event loop process, subject to the threshold. (Python agent only)

externalCallCount
count

The number of external calls made by this transaction.

externalDuration
seconds (s)

The total response time of all external (out-of-process) services, in seconds.

gcCumulative
seconds (s)

(Ruby and Java agents only) The total time spent in garbage collection during this transaction, in seconds.

guid
ID

The identifier for the transaction.

host

The name of the application host that processed this request.

http.statusCode
enum

The HTTP status code associated with the transaction. Some agents use httpResponseCode, which is equivalent.

http.statusText
enum

The response status message for a web request.

httpResponseCode
enum

The HTTP response code associated with the transaction. Some agents use http.statusCode, which is equivalent.

memcacheDuration
seconds (s)

The memcache response time, in seconds.

parent.account
ID

If a distributed tracing payload is received, this is the account identifier for the transaction's upstream caller.

parent.app
ID

If a distributed tracing payload is received, this is the application identifier. APM agents retrieve this value in the connect response under the key primary_application_id.

parent.transportDuration

When distributed tracing is enabled and a payload is received, the difference in time between the timestamp given for when the payload was sent and the moment it was processed.

parent.transportType

When a distributed tracing payload is received, the method of transport for the payload. Example values: Unknown, HTTP, HTTPS, Kafka, JMS, IronMQ, AMQP, Queue, or Other.

parent.type

If a distributed trace payload was received, the parent's data source type. Example values: App, Browser, Mobile.

parentId
ID

If a distributed trace payload was received, the guid of this parent transaction.

port

The listening port of the transaction that generated the event. This information will not always be available, so this attribute may not always be reported.

priority

Likelihood this event will be saved.

queueDuration
seconds (s)

The total time the requester waits for a service to initiate, in seconds.

realAgentId
ID

The ID of the New Relic agent that reported the data.

request.headers.accept

The types as read from the HTTP Accept request header.

request.headers.contentLength
bytes (B)

Incoming request size in bytes as read from the Content-Length HTTP request header.

request.headers.contentType

Incoming request content-type as read from the HTTP request header Content-Type. Example value: application/octet-stream.

request.headers.host

The name from the HTTP host request header.

request.headers.referer

The incoming request referer as read from the Referer request header.

request.headers.userAgent

The contents of the User-Agent HTTP header.

request.method

The HTTP request method used. Example values: POST, GET.

response.headers.contentLength
bytes (B)

The outgoing response size in bytes as read from the Content-Length response header.

response.headers.contentType

For an HTTP response, the data type of the returned response. Example values: text/html, application/json.

response.status
enum

The HTTP response code associated with the transaction.

sampled

Indicates whether this event was sampled for inclusion in a distributed trace. Only present when distributed tracing is enabled.

threadConcurrency
count

A measure of "thread utilization", representing the number of threads handling concurrent requests.

timestamp
milliseconds (ms)

The start time of the job in milliseconds since the Unix epoch.

trace.id
ID

The unique ID (a randomly generated string) used to identify a single request as it crosses inter- and intra- process boundaries. This ID allows the linking of spans in a distributed trace. Included when distributed tracing is enabled.

traceId
ID

A unique ID (a randomly generated string) used to identify a single request as it crosses inter- and intra- process boundaries. This ID allows the linking of spans in a distributed trace. Included when distributed tracing is enabled.

transactionName

Name of the transaction in which the error occurred. Example value: Controller/customers/show. Value may be 'Unknown' if an error occurs outside of a transaction.

transactionUiName

The UI display name equivalent of transactionName.

wsgi.input.calls.read
count

(Python agent only) The number of calls to read() by the WSGI server to handle request.

wsgi.input.calls.readline
count

(Python agent only) The number of calls to readline() by the WSGI server to handle request.

wsgi.input.calls.readlines
count

(Python agent only) The number of calls to readlines() by the WSGI server to handle request.

wsgi.output.calls.write
count

(Python agent only) Number of calls to yield by the WSGI server to send response.

wsgi.output.calls.yield
count

(Python agent only) Number of calls to yield by the WSGI server to send response.