statement_callers
Trace which services, requests, and cron jobs execute a given SQL statement and view their upstream caller tree in Dynatrace.
Instructions
Finds what causes one SQL statement (Dynatrace backtrace of a database service filtered to the statement): the services that execute it, the exact requests, background tasks and cron jobs behind those services with their SERVICE_METHOD ids, and for each the number of requests and of resulting executions, followed by the upstream caller tree.
Pass service (the database service, id or name) and statement (id from top_database_statements, or a part of the SQL text). The shared trace filters (response_time_min_ms, response_time_max_ms, http_code, failed, http_method, request, request_group_id, url_contains, request_kind, raw_filters) narrow the analysed requests. E.g. response_time_min_ms backtraces only the slow executions.
Follow up with slow_statement_executions for single slow executions, or list_traces with service set to a caller id and request to a calling request.
This tool runs through the Dynatrace Bridge browser extension in the user's logged-in browser. If it fails, report the error to the user; do not try to open browser tabs or use browser automation instead.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of calling requests in the table, and caller nodes in the tree to print. Default 20, at most 200. The output says how many were omitted. | |
| failed | No | true = only failed requests, false = only successful requests. Omit for both. | |
| service | Yes | The database service, as an entity id (SERVICE-1234567890ABCDEF) or a name. A name that matches several entities returns the candidates instead of guessing. | |
| time_to | No | Absolute end time, ISO 8601; without a zone it is read as UTC. Without time_from, the window starts minutes_lookback before this. Must not be in the future. | |
| http_code | No | HTTP response code filter: one code ('404'), a class ('4xx', '5xx') or a range ('400-599'). | |
| max_depth | No | How many caller levels above the database to show in the tree. Default 4, at most 20. | |
| statement | Yes | The SQL statement: its SERVICE_METHOD-… id as printed by `top_database_statements`, or a part of its text (several matches return the candidates). | |
| time_from | No | Absolute start time, ISO 8601 (e.g. '2026-09-23T10:28:00Z'). A timestamp without a zone (Z or ±hh:mm) is read as UTC. Without time_to, the window runs from here to now. Must not be in the future. | |
| environment | No | Which Dynatrace environment to query, as named in the Dynatrace Bridge extension popup. Omit it for the default, the first environment configured there. The names are not listed here because the extension had not connected yet when this description was built; `dynatrace_bridge_status` lists them. | |
| http_method | No | HTTP method of the request. | |
| raw_filters | No | Escape hatch for servicefilter types without a dedicated argument. Each entry is {type, values}; type is a numeric id or one of CPU_TIME, CALL_INSTANCE_ID, CALL_TREE, CALL_URI, CALL_TAG, WAIT_TIME, SYNC_TIME, SUSPENSION_TIME, CALLEE, CALLER, PROXY, SERVICE_ID, EXCEPTION, DATABASE_STATEMENT, DATABASE_TABLE, FLAWS, DISK_IO_TIME, NETWORK_IO_TIME, NUMBER_OF_DB_CALLS, NUMBER_OF_NON_DB_CALLS, TIME_SPENT_IN_DB_CALLS, TIME_SPENT_IN_NON_DB_CALLS, TRACE_ID, THREAD_NAME, PROCESSING_TIME, DATABASE_VENDOR, DATABASE_NAME, ENTITY_TAG, PG_NAME, PG_TAG, DATABASE_ROW_COUNT, DATABASE_FETCH_COUNT, WEBREQUEST_HOSTNAME, KEY_REQUEST, RELEASE, BUILD, STAGE, PRODUCT, SPAN_NAME, SPAN_ATTRIBUTE, ENTRY_POINT. Value formats of these types are not verified; time values are microseconds. | |
| request_kind | No | web = only requests of web request and web services (HTTP endpoints, including calls to unmonitored hosts); database = only SQL statements. Omit for every kind (also background activity, custom and messaging services). | |
| url_contains | No | Only web requests whose URL contains this text. The quick way to filter by a URL path fragment (e.g. '/checkout') without knowing the service or the request: it works with or without `service`. It matches nothing for non-web requests (SQL statements, cron jobs, messaging, custom services), which have no URL; use `request` for those. | |
| minutes_lookback | No | Window length in minutes. Default 120. With neither time_from nor time_to it means the last N minutes up to now; with only time_to it means the N minutes ending at time_to; ignored when time_from is given. The response header always shows the resolved absolute UTC window. | |
| request_group_id | No | A request type as a SERVICE_METHOD_GROUP-… id. For a 'Requests to unmonitored hosts' service this id is the target host (printed by list_service_requests; there the host name can also be passed as `request`). | |
| request_group_name | No | Display name belonging to request_group_id, exactly as printed next to the id. Pass it together with request_group_id. | |
| response_time_max_ms | No | Only requests whose response time is at most this many milliseconds. | |
| response_time_min_ms | No | Only requests whose response time is at least this many milliseconds. |