{
  "@context": {
    "dynatrace": "https://docs.dynatrace.com/docs/schemas/",
    "schema": "https://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",

    "MonitoredEntity": "dynatrace:MonitoredEntity",
    "MetricDescriptor": "dynatrace:MetricDescriptor",
    "MetricDataPoint": "dynatrace:MetricDataPoint",
    "Problem": "dynatrace:Problem",
    "Event": "dynatrace:Event",
    "LogRecord": "dynatrace:LogRecord",
    "SyntheticMonitor": "dynatrace:SyntheticMonitor",

    "entityId": {
      "@id": "@id",
      "@comment": "Maps the Dynatrace entityId field to the JSON-LD @id, making each monitored entity uniquely addressable as a linked data resource."
    },
    "displayName": {
      "@id": "schema:name",
      "@comment": "The human-readable display name of the monitored entity, mapped to schema.org/name for interoperability."
    },
    "type": {
      "@id": "schema:additionalType",
      "@comment": "The entity type (e.g., SERVICE, HOST) mapped to schema:additionalType to classify entities beyond the base MonitoredEntity type."
    },
    "firstSeenTms": {
      "@id": "dcterms:created",
      "@type": "xsd:long",
      "@comment": "The Unix timestamp in milliseconds when the entity was first observed, mapped to dcterms:created."
    },
    "lastSeenTms": {
      "@id": "dcterms:modified",
      "@type": "xsd:long",
      "@comment": "The Unix timestamp in milliseconds when the entity was last observed, mapped to dcterms:modified."
    },
    "tags": {
      "@id": "schema:keywords",
      "@comment": "Entity tags mapped to schema:keywords to enable semantic search and categorization."
    },

    "metricId": {
      "@id": "schema:identifier",
      "@comment": "The metric key identifier, mapped to schema:identifier for the MetricDescriptor context."
    },
    "description": {
      "@id": "dcterms:description",
      "@comment": "The description of the metric, mapped to dcterms:description."
    },
    "unit": {
      "@id": "schema:unitCode",
      "@comment": "The unit of measurement for the metric (e.g., Percent, Byte), mapped to schema:unitCode."
    },
    "aggregationTypes": {
      "@id": "schema:additionalProperty",
      "@comment": "The supported aggregation types for the metric (e.g., avg, sum, max), mapped to schema:additionalProperty."
    },

    "timestamps": {
      "@id": "dcterms:date",
      "@comment": "The array of Unix timestamps for metric data points, mapped to dcterms:date for the MetricDataPoint context."
    },
    "values": {
      "@id": "schema:value",
      "@comment": "The array of metric values corresponding to timestamps, mapped to schema:value."
    },
    "dimensionMap": {
      "@id": "schema:additionalProperty",
      "@comment": "The dimension key-value map for a metric series, mapped to schema:additionalProperty."
    },

    "problemId": {
      "@id": "@id",
      "@comment": "Maps the Dynatrace problemId to the JSON-LD @id, making each problem uniquely addressable."
    },
    "displayId": {
      "@id": "schema:identifier",
      "@comment": "The human-readable problem identifier (e.g., P-123456), mapped to schema:identifier."
    },
    "title": {
      "@id": "schema:name",
      "@comment": "The problem title generated by Davis AI, mapped to schema:name."
    },
    "severityLevel": {
      "@id": "schema:additionalType",
      "@comment": "The severity classification of the problem, mapped to schema:additionalType."
    },
    "status": {
      "@id": "schema:eventStatus",
      "@comment": "The lifecycle status of the problem (OPEN or RESOLVED), mapped to schema:eventStatus."
    },
    "startTime": {
      "@id": "dcterms:created",
      "@type": "xsd:long",
      "@comment": "The Unix timestamp in milliseconds when the problem started, mapped to dcterms:created."
    },
    "endTime": {
      "@id": "dcterms:modified",
      "@type": "xsd:long",
      "@comment": "The Unix timestamp in milliseconds when the problem ended (-1 if still open), mapped to dcterms:modified."
    },

    "eventId": {
      "@id": "@id",
      "@comment": "Maps the Dynatrace eventId to the JSON-LD @id, making each event uniquely addressable."
    },
    "eventType": {
      "@id": "schema:additionalType",
      "@comment": "The type of the Dynatrace event (e.g., CUSTOM_DEPLOYMENT, AVAILABILITY_EVENT), mapped to schema:additionalType."
    },

    "content": {
      "@id": "schema:description",
      "@comment": "The log record message content, mapped to schema:description."
    },
    "severity": {
      "@id": "schema:additionalType",
      "@comment": "The severity level of the log record (e.g., ERROR, WARNING, INFO), mapped to schema:additionalType."
    },
    "timestamp": {
      "@id": "dcterms:date",
      "@type": "xsd:dateTime",
      "@comment": "The timestamp of the log record, mapped to dcterms:date with xsd:dateTime type."
    },

    "name": {
      "@id": "schema:name",
      "@comment": "The display name of the synthetic monitor, mapped to schema:name."
    },
    "locations": {
      "@id": "schema:location",
      "@comment": "The list of locations from which the synthetic monitor executes, mapped to schema:location."
    },
    "frequency": {
      "@id": "schema:frequency",
      "@comment": "The execution frequency of the synthetic monitor, mapped to schema:frequency."
    }
  }
}
