// Resource Attribute Keys export const SERVICE_NAME = "service.name"; export const SERVICE_NAMESPACE = "service.namespace"; export const SERVICE_VERSION = "service.version"; export const DEPLOYMENT_ENVIRONMENT_NAME = "deployment.environment.name"; export const DEPLOYMENT_NAME = "deployment.name"; export const DEPLOYMENT_ID = "deployment.id"; // VCS Resource Attribute Keys export const VCS_PROVIDER_NAME = "vcs.provider.name"; export const VCS_OWNER_NAME = "vcs.owner.name"; export const VCS_REPOSITORY_NAME = "vcs.repository.name"; export const VCS_REPOSITORY_URL_FULL = "vcs.repository.url.full"; export const VCS_REF_HEAD_NAME = "vcs.ref.head.name"; export const VCS_REF_HEAD_REVISION = "vcs.ref.head.revision"; export const VCS_CHANGE_ID = "vcs.change.id"; // Misc Signal Attribute Keys export const EVENT_NAME = "event.name"; export const WEB_EVENT_TITLE = "dash0.web.event.title"; export const WEB_EVENT_ID = "dash0.web.event.id"; export const WEB_REQUEST_CANCELLED = "dash0.web.request.cancelled"; export const PAGE_LOAD_ID = "page.load.id"; export const SESSION_ID = "session.id"; export const USER_AGENT = "user_agent.original"; export const BROWSER_TAB_ID = "browser.tab.id"; export const WINDOW_WIDTH = "browser.window.width"; export const WINDOW_HEIGHT = "browser.window.height"; export const NETWORK_CONNECTION_TYPE = "network.connection.subtype"; export const EXCEPTION_COMPONENT_STACK = "exception.component_stack"; // Session Recording Attribute Keys export const SESSION_RECORDING_ID = "dash0.session_recording.id"; export const SESSION_RECORDING_SEQ = "dash0.session_recording.seq"; export const SESSION_RECORDING_EVENT_COUNT = "dash0.session_recording.event_count"; export const SESSION_RECORDING_HAS_SNAPSHOT = "dash0.session_recording.has_snapshot"; export const SESSION_RECORDING_END_TIME_UNIX_NANO = "dash0.session_recording.end_time_unix_nano"; // User Attribute Keys export const USER_ID = "user.id"; export const USER_NAME = "user.name"; export const USER_FULL_NAME = "user.full_name"; export const USER_EMAIL = "user.email"; export const USER_HASH = "user.hash"; export const USER_ROLES = "user.roles"; // Exception Attribute Keys export const EXCEPTION_MESSAGE = "exception.message"; export const EXCEPTION_TYPE = "exception.type"; export const EXCEPTION_STACKTRACE = "exception.stacktrace"; // Error Attribute Keys export const ERROR_TYPE = "error.type"; // URL Attribute Keys export const PAGE_URL_ATTR_PREFIX = "page"; export const URL_DOMAIN = "url.domain"; export const URL_FRAGMENT = "url.fragment"; export const URL_FULL = "url.full"; export const URL_PATH = "url.path"; export const URL_QUERY = "url.query"; export const URL_SCHEME = "url.scheme"; // Http Attribute Keys export const HTTP_REQUEST_METHOD = "http.request.method"; export const HTTP_REQUEST_METHOD_ORIGINAL = "http.request.method_original"; export const HTTP_REQUEST_HEADER = "http.request.header"; export const HTTP_RESPONSE_STATUS_CODE = "http.response.status_code"; export const HTTP_RESPONSE_HEADER = "http.response.header"; export const HTTP_RESPONSE_BODY_SIZE = "http.response.body.size"; // Event Names export const EVENT_NAMES = { PAGE_VIEW: "browser.page_view", NAVIGATION_TIMING: "browser.navigation_timing", WEB_VITAL: "browser.web_vital", ERROR: "browser.error", SESSION_RECORDING: "browser.session_recording", RAGE_CLICK: "browser.rage_click", }; export const SPAN_EVENT_NAME_EXCEPTION = "exception"; // Log Severities export const LOG_SEVERITIES = { UNSPECIFIED: 0, TRACE: 1, DEBUG: 5, INFO: 9, WARN: 13, ERROR: 17, FATAL: 21, }; export type LOG_SEVERITY_TEXT = keyof typeof LOG_SEVERITIES; export type LOG_SEVERITY_NUMBER = (typeof LOG_SEVERITIES)[LOG_SEVERITY_TEXT]; // Page View Event Attributes // SEE: https://github.com/open-telemetry/semantic-conventions/pull/1910/files export const PAGE_VIEW_TYPE = "type"; export const PAGE_VIEW_TYPE_VALUES = { INITIAL: 0, VIRTUAL: 1, }; export const PAGE_VIEW_CHANGE_STATE = "change_state"; export const PAGE_VIEW_CHANGE_STATE_VALUES = { PUSH: "pushState", REPLACE: "replaceState", }; // Span Status export const SPAN_STATUS_UNSET = 0; export const SPAN_STATUS_OK = 1; // This is here for completion, status ok is reserved for use by application developers export const SPAN_STATUS_ERROR = 2; // Span Kind // See: https://github.com/open-telemetry/opentelemetry-proto/blob/ac3242b03157295e4ee9e616af53b81517b06559/opentelemetry/proto/trace/v1/trace.proto#L143-L169 export const SPAN_KIND_CLIENT = 3;