Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Instana Application Analyze API

The API endpoints of this group expose our analyze functionality.It includes:**Grouped Metrics**Two group endpoints to retrieve metrics for traces and calls. **List of traces and its detailed information**You can also [search and filter all traces](#operation/getTraces) and retrieve [all details](#operation/getTraceDownload) attached to the trace. Furthermore, you can also retrive [all details](#operation/getCallDetails) of a call.## Parameters### Mandatory Parameters (only for group Endpoints):**group** It is mandatory to select a tag by which the calls and traces are grouped for the distinct endpoint call* *groupByTag* select a tag by which the calls and traces are grouped * a full list of available tags can be retrieved from the [application tag catalog](#operation/getApplicationTagCatalog) * for the trace endpoint only two tags are reasonable and working: `trace.endpoint.name` and `trace.service.name` which indicate the entry endpoint or service for the trace* *groupByTagSecondLevelKey* tags of type KEY_VALUE_PAIR need a second parameter e.g for `kubernetes.deployment.label` you would need provide the label you want to groupBy here.### Optional Parameters**pagination*** *offset* set the starting point for the data retrieval* *retrievalSize* you set the number of returned values* *ingestionTime* if you want to paginate through your result set you are interested in having the data for a fixed time point, the results set has a `cursor` class that has a ingestionTime property that indicates what you have to enter here.**order****timeFrame** As in our UI you can specify the timeframe for metrics retrieval.``` windowSize to (ms) (unix-timestamp)<----------------------|```The timeFrame might be adjusted to fit the metric granularity so that there is no partial bucket. For example, if the query timeFrame is 08:02 - 09:02 and the metric granularity is 5 minutes, the timeFrame will be adjusted to 08:05 - 09:00. The adjusted timeFrame will be returned in the response payload. If the query does not have any metric with granularity, a default granularity will be used for adjustment.**tagFilters** As in the UI you able to filter your query by a tag. To get a list of all available tags you can query the [application tag catalog](#operation/getApplicationTagCatalog)* *name* The name of the tag as returned by the catalog* *value* The filter value of the tag, possible types are: * "STRING" alphanumerical values, valid operators: "EQUALS", "CONTAINS", "NOT_EQUAL", "NOT_CONTAIN", "NOT_EMPTY", "IS_EMPTY" * "NUMBER" numerical values, valid operators: "EQUALS", "LESS_THAN" "GREATER_THAN" * "KEY_VALUE_PAIR" * *operator* one of the valid operators for the type of the selected tag**metrics** A list of metric objects that define which metric should be returned, with the defined aggregation. Each metrics objects consists of minimum two items:1. *metric* select a particular metric, available metrics in this context are * Latency Mean * Error Rate * Traces Sum2. *aggregation* depending on the selected metric different aggregations are available e.g. SUM, MEAN, P95. The aforementioned [catalog endpoint](#operation/getApplicationCatalogMetrics) gives you the metrics with the available aggregations.**Note**: The above mentioned list of available metrics with its supported metrics can also be found in [Get grouped call metrics](#operation/getCallGroup) and [Get grouped trace metrics](#operation/getTraceGroups).3. *granularity* * If it is not set you will get a an aggregated value for the selected timeframe * If the granularity is set you will get data points with the specified granularity **in seconds** * The granularity should not be greater than the `windowSize` (important: `windowSize` is expressed in **milliseconds**) * The granularity should not be set too small relative to the `windowSize` to avoid creating an excessively large number of data points (max 600)### Defaults:**timeFrame**```"timeFrame": { "windowSize": 60000, "to": {current timestamp}}```

Instana Application Analyze API is one of 62 APIs that Instana publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Application Analyze. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.

This API exposes 6 operations across 6 paths, and defines 37 schemas. It is described by OpenAPI 3.0.1, at version 1.307.1417.

Requests are made against 2 base URLs: https://{unit}-{tenant}.instana.io, https://{domain}.

6 operations 6 paths 37 schemas 3 GET3 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.1
API Version
1.307.1417
Servers
https://{unit}-{tenant}.instana.io
https://{domain}
Authentication
API Key
Contact
Terms of Service
Resource Areas
1

Authentication & Security 1

Instana Application Analyze API declares 1 security scheme for authenticating requests. An API key is passed in the header as authorization (ApiKeyAuth).

  • ApiKeyAuth — Example bash curl --request GET \ --url https://test-instana.instana.io/api/application-monitoring/catalog/metrics \ --header 'authorization: apiToken xxxxxxxx…

Paths & Operations 6

Across 6 paths, the API surfaces 6 operations — 3 GET, 3 POST. Each is listed below with its method, path, parameters, and response codes.

Application Analyze 6

The API endpoints of this group expose our analyze functionality. It includes: Grouped Metrics Two group endpoints to retrieve metrics for traces and calls. List of traces and its…

GET
/api/application-monitoring/analyze/backend-correlation
Resolve Trace IDs from Monitoring Beacons.
getCorrelatedTraces 1 param → 200
POST
/api/application-monitoring/analyze/call-groups
Get grouped call metrics
getCallGroup 1 param body → 200
POST
/api/application-monitoring/analyze/trace-groups
Get grouped trace metrics
getTraceGroups 1 param body → 200
POST
/api/application-monitoring/analyze/traces
Get all traces
getTraces body → 200
GET
/api/application-monitoring/v2/analyze/traces/{id}
Get trace detail
getTraceDownload 4 params → 200
GET
/api/application-monitoring/v2/analyze/traces/{traceId}/calls/{callId}/details
Get call detail
getCallDetails 2 params → 200

Schemas 37

The contract defines 37 schemas that model the data the API accepts and returns. The most detailed are TraceActivityTreeNodeDetails (16 properties), GetTraceDownloadResultItem (12 properties), SpanExcerpt (11 properties), Endpoint (9 properties). Each schema is shown below with its type and property counts.

GetTraceGroups
object
9 properties 2 required
GetCallGroups
object
9 properties 2 required
Trace
object
1. service: The service from where trace started. 2. endpoint: Endpoint of the service.
7 properties 2 required
KubernetesPhysicalContext
object
Contains physical context of Kubernetes which contains information about the cluster, namespace, node and pod.
4 properties
SpanRelation
object
It shows from where the call is destined to. It includes the following information: 1. List of Application Perspectives from which the call is destined to. 2.…
4 properties 1 required
TagFilterExpressionElement
object
Boolean expression of tag filters to define the scope of relevant calls.
1 property 1 required
SnapshotPreview
object
5 properties 1 required
TraceActivityTreeNodeDetails
object
16 properties 4 required
AdjustedTimeframe
object
Time frame provided in API request is slightly adjusted in response for faster API response. For example, In request payload, if timeframe is 08:03 - 14:03, wh…
2 properties 1 required
SpanExcerpt
object
Information about the logs attached to the call, if available.
11 properties 5 required
MetricConfig
object
A list of objects each of which defines a metric and the (statistical) aggregation -- MEAN, SUM, MAX, etc -- that should be used to summarize it for the define…
3 properties 2 required
DatabaseIntegration
object
2 properties
CallGroupsItem
object
Represents an array of call group item containing several attributes that describe its properties. The item includes fields such as cursor, metrics, name, and…
4 properties 3 required
GetTraces
object
7 properties
Group
object
Grouping of data under groupbyTag, where groupbyTagEntity and groupbyTagSecondLevelKey are aspects of groupbyTag.
3 properties 2 required
TraceGroupsResult
object
6 properties 1 required
CallRelation
object
It shows from where the call is destined to. It includes destination service, its endpoint and list of technologies of the service.
3 properties
IngestionOffsetCursor
object
Cursor to use between successive queries
GetTraceDownloadResultItem
object
Represents an array of call group item containing several attributes that describe its properties. The item includes fields such as cursor, metrics, name, and…
12 properties
PhysicalContext
object
The physical context of an entity. This is typically used to describe where a host, container or process fits into the infrastructure. 1. cloudfoundry: Contain…
6 properties
TimeFrame
object
Time range for which the data should be retrieved.
2 properties
DeprecatedTagFilter
object
4 properties 3 required
CallGroupsResult
object
6 properties 1 required
TraceResult
object
6 properties 1 required
BackendTraceReference
object
1 property 1 required
TraceDownloadResult
object
6 properties 1 required
TraceGroupsItem
object
Represents an array of call group item containing several attributes that describe its properties. The item includes fields such as cursor, metrics, name, and…
4 properties 3 required
EndpointSimple
object
The destination service's endpoint where the call enters.
3 properties
StackTraceItem
object
For an erroneous call, if stack trace is available it will show a list of items containing file, method and line number of the code.
3 properties
Endpoint
object
9 properties 5 required
TraceItem
object
Represents an array of call group item containing several attributes that describe its properties. The item includes fields such as cursor, metrics, name, and…
2 properties 2 required
CursorPagination
object
Details for controlling the pagination of the API response. This object allows you to define the starting point for retrieving records, how many records to ski…
3 properties
Order
object
Specifies the ordering of the results. It contains fields that define the sorting criteria, the collation for sorting, and the direction in which the results s…
3 properties 2 required
CloudfoundryPhysicalContext
object
Contains physical context of Cloudfoundry. It contains the following information: 1. application: Application running within Cloud Foundry environment. 2. cfIn…
4 properties
ServiceSimple
object
The destination service.
2 properties
Service
object
6 properties 5 required
Application
object
Returns a list of Application Perspectives.
4 properties 3 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

instana-application-analyze-api-openapi.yml Raw ↑

Other APIs Instana publishes across the network.

Instana Action Catalog API
Instana Action History API
Instana AI Management API
Instana Apdex Report API
Instana Apdex Settings API
Instana API Token API
Instana Application Alert Configuration API
Instana Application Catalog API
Instana Application Metrics API
Instana Application Resources API
Instana Application Settings API
Instana Application Topology API