Skip to content

Latest commit

 

History

History
51 lines (37 loc) · 2.15 KB

File metadata and controls

51 lines (37 loc) · 2.15 KB

Resource Data Model

Status: Development

Table of Contents

A Resource represents the observed entity for which telemetry is produced. It is defined by a set of Attributes that identify the source of the telemetry, rather than the component that technically produces it (like an auto-instrumentation agent). For example, a process running in a container on Kubernetes is associated to a Pod running on a Node that is a VM, in a namespace, and possibly part of a Deployment. Resource could have attributes to denote information about the Container, the Pod, the Node, the VM or the Deployment. All of these help identify the observed entity. Note that there are certain attributes that have prescribed meanings.

A resource is composed of 0 or more Entities and 0 or more attributes not associated with any entity.

The data model below defines a logical model for an Resource (irrespective of the physical format and encoding of how resource data is recorded).

Field Type Description
Entities set<Entity> Defines the set of Entities associated with this resource.

Entity is defined here

Attributes map<string, attribute value> Additional Attributes that identify the resource.

MUST not change during the lifetime of the resource.

Follows OpenTelemetry attribute definition.

Identity

Most resources are a composition of Entity. Entity includes its own notion of identity. The identity of a resource is the set of entities contained within it. Two resources are considered different if one contains an entity not found in the other.

Some resources include raw attributes in addition to Entities. Raw attributes are considered identifying on a resource. That is, if the key-value pairs of raw attributes are different, then you can assume the resource is different.