Skip to main content

Search Traces

This section provides detailed examples of searching traces using the SigNoz Trace API. The example queries demonstrate querying traces with specific attributes and filters.

Searching All Spans​

This query is useful when identifying all spans with specific characteristics, such as method type or error status.

Query Description​

This query searches for all spans where:

  • deployment_name= hotrod
  • httpMethod= GET
  • hasError = true

Attributes and Columns​

  • Resource Attribute: deployment_name
  • Tag Attributes + Columns: httpMethod, hasError
  • Selected Columns: serviceName, httpMethod, responseStatusCode, httpUrl

You can specify the start and end timestamps in Unix format (milliseconds).

Sample Payload​

This is the JSON payload for the example query.

{
"start": 1702009280000,
"end": 1702011080000,
"step": 60,
"variables": {},
"compositeQuery": {
"queryType": "builder",
"panelType": "list",
"builderQueries": {
"A": {
"dataSource": "traces",
"queryName": "A",
"aggregateOperator": "noop",
"aggregateAttribute": {},
"filters": {
"items": [
{
"key": {
"key": "deployment_name",
"dataType": "string",
"type": "resource",
"isColumn": false
},
"op": "=",
"value": "hotrod"
},
{
"key": {
"key": "httpMethod",
"dataType": "string",
"type": "tag",
"isColumn": true
},
"op": "=",
"value": "GET"
},
{
"key": {
"key": "hasError",
"dataType": "bool",
"type": "tag",
"isColumn": true
},
"op": "=",
"value": "true"
}
],
"op": "AND"
},
"expression": "A",
"disabled": false,
"having": [],
"stepInterval": 60,
"limit": 10,
"orderBy": [
{
"columnName": "timestamp",
"order": "desc"
}
],
"groupBy": [],
"legend": "",
"reduceTo": "sum",
"offset": 0,
"selectColumns": [
{
"key": "serviceName",
"dataType": "string",
"type": "tag",
"isColumn": true
},
{
"key": "httpMethod",
"dataType": "string",
"type": "tag",
"isColumn": true
},
{
"key": "responseStatusCode",
"dataType": "string",
"type": "tag",
"isColumn": true
},
{
"key": "httpUrl",
"dataType": "string",
"type": "tag",
"isColumn": true
}
]
}
}
},
"dataSource": "traces"
}

Searching Root Spans​

This type of query can be useful to find the initial operation or root spans in a set of traces, which can be crucial for tracing the origin of an issue.

Query Description​

This query searches for root spans with:

  • deployment_name= hotrod
  • httpMethod= GET

Attributes and Columns​

  • Resource Attribute: deployment_name
  • Tag Attributes + Columns: httpMethod
  • Selected Columns: serviceName, httpMethod, responseStatusCode, some_custom_tag

You can specify the start and end timestamps in Unix format (milliseconds).

note

To search for root spans, you need to add parentSpanID value to "" in filters

Sample Payload​

This is the JSON payload for the example query.

{
"start": 1702009280000,
"end": 1702011080000,
"step": 60,
"variables": {},
"compositeQuery": {
"queryType": "builder",
"panelType": "list",
"builderQueries": {
"A": {
"dataSource": "traces",
"queryName": "A",
"aggregateOperator": "noop",
"aggregateAttribute": {},
"filters": {
"items": [
{
"key": {
"key": "deployment_name",
"dataType": "string",
"type": "resource",
"isColumn": false
},
"op": "=",
"value": "hotrod"
},
{
"key": {
"key": "httpMethod",
"dataType": "string",
"type": "tag",
"isColumn": true
},
"op": "=",
"value": "GET"
},
{
"key": {
"key": "parentSpanID",
"dataType": "string",
"type": "tag",
"isColumn": true
},
"op": "=",
"value": ""
}
],
"op": "AND"
},
"expression": "A",
"disabled": false,
"having": [],
"stepInterval": 60,
"limit": 10,
"orderBy": [
{
"columnName": "timestamp",
"order": "desc"
}
],
"groupBy": [],
"legend": "",
"reduceTo": "sum",
"offset": 0,
"selectColumns": [
{
"key": "serviceName",
"dataType": "string",
"type": "tag",
"isColumn": true
},
{
"key": "httpMethod",
"dataType": "string",
"type": "tag",
"isColumn": true
},
{
"key": "responseStatusCode",
"dataType": "string",
"type": "tag",
"isColumn": true
},
{
"key": "some_custom_tag",
"dataType": "string",
"type": "tag",
"isColumn": false
}
]
}
}
},
"dataSource": "traces"
}