Metrics endpoint
Observability metrics provide insights into usage statistics, historical trends, and performance indicators for various features in Adobe Experience Platform. The /metrics
endpoint in the Observability Insights API allows you to programmatically retrieve metric data for your organization’s activity in Platform.
Getting started
The API endpoint used in this guide is part of the Observability Insights API. Before continuing, please review the getting started guide for links to related documentation, a guide to reading the sample API calls in this document, and important information regarding required headers that are needed to successfully make calls to any Experience Platform API.
Retrieve observability metrics
You can retrieve metrics data by making a POST request to the /metrics
endpoint, specifying the metrics you wish to retrieve in the payload.
API format
POST /metrics
Request
curl -X POST \
https://platform.adobe.io/data/infrastructure/observability/insights/metrics \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '{
"start": "2020-07-14T00:00:00.000Z",
"end": "2020-07-22T00:00:00.000Z",
"granularity": "day",
"metrics": [
{
"name": "timeseries.ingestion.dataset.recordsuccess.count",
"filters": [
{
"name": "dataSetId",
"value": "5edcfb2fbb642119194c7d94|5eddb21420f516191b7a8dad",
"groupBy": true
}
],
"aggregator": "sum",
"downsample": "sum"
},
{
"name": "timeseries.ingestion.dataset.dailysize",
"filters": [
{
"name": "dataSetId",
"value": "5eddb21420f516191b7a8dad",
"groupBy": false
}
],
"aggregator": "sum",
"downsample": "sum"
}
]
}'
start
end
granularity
DAY
returns metrics for each day between the start
and end
date, whereas a value of MONTH
would group metric results by month instead. When using this field, a corresponding downsample
property must also be provided to indicate the aggregation function by which to group data.metrics
name
filters
An optional field that allows you to filter metrics by specific datasets. The field is an array of objects (one for each filter), with each object containing the following properties:
name
: The type of entity to filter metrics against. Currently, onlydataSets
is supported.value
: The ID of one or more datasets. Multiple dataset IDs can be provided as a single string, with each ID separated by vertical bar characters (|
).groupBy
: When set to true, indicates that the correspondingvalue
represents multiple datasets whose metric results should be returned separately. If set to false, metric results for those datasets are grouped together.
aggregator
downsample
granularity
property. For detailed information on downsampling, refer to the OpenTSDB documentation.Response
A successful response returns the resulting datapoints for the metrics and filters specified in the request.
{
"metricResponses": [
{
"metric": "timeseries.ingestion.dataset.recordsuccess.count",
"filters": [
{
"name": "dataSetId",
"value": "5edcfb2fbb642119194c7d94|5eddb21420f516191b7a8dad",
"groupBy": true
}
],
"datapoints": [
{
"groupBy": {
"dataSetId": "5edcfb2fbb642119194c7d94"
},
"dps": {
"2020-07-14T00:00:00Z": 44.0,
"2020-07-15T00:00:00Z": 46.0,
"2020-07-16T00:00:00Z": 36.0,
"2020-07-17T00:00:00Z": 50.0,
"2020-07-18T00:00:00Z": 38.0,
"2020-07-19T00:00:00Z": 40.0,
"2020-07-20T00:00:00Z": 42.0,
"2020-07-21T00:00:00Z": 42.0,
"2020-07-22T00:00:00Z": 50.0
}
},
{
"groupBy": {
"dataSetId": "5eddb21420f516191b7a8dad"
},
"dps": {
"2020-07-14T00:00:00Z": 44.0,
"2020-07-15T00:00:00Z": 46.0,
"2020-07-16T00:00:00Z": 36.0,
"2020-07-17T00:00:00Z": 50.0,
"2020-07-18T00:00:00Z": 38.0,
"2020-07-19T00:00:00Z": 40.0,
"2020-07-20T00:00:00Z": 42.0,
"2020-07-21T00:00:00Z": 42.0,
"2020-07-22T00:00:00Z": 50.0
}
}
],
"granularity": "DAY"
},
{
"metric": "timeseries.ingestion.dataset.dailysize",
"filters": [
{
"name": "dataSetId",
"value": "5eddb21420f516191b7a8dad",
"groupBy": false
}
],
"datapoints": [
{
"groupBy": {},
"dps": {
"2020-07-14T00:00:00Z": 38455.0,
"2020-07-15T00:00:00Z": 40213.0,
"2020-07-16T00:00:00Z": 31476.0,
"2020-07-17T00:00:00Z": 43705.0,
"2020-07-18T00:00:00Z": 33227.0,
"2020-07-19T00:00:00Z": 34977.0,
"2020-07-20T00:00:00Z": 36735.0,
"2020-07-21T00:00:00Z": 36737.0,
"2020-07-22T00:00:00Z": 43715.0
}
}
],
"granularity": "DAY"
}
]
}
metricResponses
metric
filters
datapoints
groupBy
filter
property for a metric, and the groupBy
option was set to true in the request, this object will contain the ID of the dataset that the corresponding dps
property applies to.If this object appears empty in the response, the corresponding
dps
property applies to all datasets provided in the filters
array (or all datasets in Platform if no filters were provided).dps
granularity
value specified in the request.Appendix
The following section contains additional information about working with the /metrics
endpoint.
Available metrics available-metrics
The following tables list all of the metrics that are exposed by Observability Insights, broken down by Platform service. Each metric includes a description and accepted ID query parameter.
Data Ingestion ingestion
The following table outlines metrics for Adobe Experience Platform Data Ingestion. Metrics in bold are streaming ingestion metrics.
Identity Service identity
The following table outlines metrics for Adobe Experience Platform Identity Service.
Real-Time Customer Profile profile
The following table outlines metrics for Real-Time Customer Profile.
Error messages
Responses from the /metrics
endpoint may return error messages under certain conditions. These error messages are returned in the following format:
{
"type": "http://ns.adobe.com/aep/errors/INSGHT-1000-400",
"title": "Bad Request - Start date cannot be after end date.",
"status": 400,
"report": {
"tenantInfo": {
"sandboxName": "prod",
"sandboxId": "49f58060-5d47-34rd-aawf-a5384333ff12",
"imsOrgId": "{ORG_ID}"
},
"additionalContext": null
},
"error-chain": [
{
"serviceId": "INSGHT",
"errorCode": "INSGHT-1000-400",
"invokingServiceId": "INSGHT",
"unixTimeStampMs": 1602095177129
}
]
}
title
report
The following table lists the different error codes that can be returned by the API:
INSGHT-1000-400
Something was wrong with the request payload. Ensure that you match the payload formatting exactly as shown above. Any of the possible reasons can trigger this error:
- Missing required fields such as
aggregator
- Invalid metrics
- The request contains an invalid aggregator
- A start date takes place after an end date
INSGHT-1001-400
INSGHT-1001-500
INSGHT-1002-500
INSGHT-1003-401
x-sandbox-name
header represents a valid, enabled sandbox for your organization before trying the request again.