JENNIFER APM

Download 4
Last updated Jul 30, 2026

jennifer-app-summary

Summarize every transaction of a JENNIFER domain by application (service URL): calls, errors, average and deviation of response time, and the average time of one SQL execution and one external call, as the application map of the console's X-View transaction screen computes them. Use it to scope root cause analysis to the applications: once jennifer-metrics or jennifer-problems point at a time window, compare that window with a normal one to find the applications whose calls, errors or response time changed, then read their transactions with jennifer-xview.

  • One row per application and window. span cuts the period into windows (1h by default); to compare before and after, use a span such as 10m and look at how a value moves across _time.
  • The whole domain is summarized; there is no per instance breakdown (use jennifer-xview for that).
  • avg_sql_time and avg_external_call_time are per SQL execution and per call, not per transaction. To combine windows, sum calls and errors and weight avg_response_time by calls.
  • The period is at most one day; each window is one call to the console.
jennifer-app-summary [profile=VALUE] domain_id=VALUE [duration=VALUE] [from=VALUE] [to=VALUE] [span=VALUE]
profile=VALUE
Optional. Name of the JENNIFER console connect profile (type jennifer-apm-console). Every such profile you are granted is used when omitted. With domain_id, which is an id of one console, exactly one profile must be used: name it when you are granted several.
domain_id=VALUE
Required. e.g. 1000. The domain (sid) to summarize; jennifer-instances lists them.
duration=VALUE
Optional. e.g. 10m for the last 10 minutes. Recent period up to now, in s(second), m(minute), h(hour), d(day) units. The last hour when no period is given. At most one day.
from=VALUE
Optional. Start of the period, yyyyMMddHHmmss. Omitted digits are padded with zero. Overrides duration.
to=VALUE
Optional. End of the period, yyyyMMddHHmmss. Omitted digits are padded with zero. Now when omitted.
span=VALUE
Optional. e.g. 10m. Length of each summary window, in m(minute) or h(hour); the period is cut into windows from its start and each window is summarized on its own row per application. 1h by default, so a period of an hour or less gives one row per application. At most 288 windows.

Output fields

FieldTypeNameDescription
_timeDateWindow starte.g. 2026-10-27 03:00:00
end_timeDateWindow ende.g. 2026-10-27 04:00:00
profileStringConnect profilee.g. jennifer-prod
domain_idIntegerDomain IDe.g. 1000
applicationStringApplicatione.g. /api/orders. The service name (URL), as jennifer-xview names it.
callsLongCallse.g. 2580. Finished transactions in the window.
errorsLongErrorse.g. 3. Transactions that ended with an error.
error_rateDoubleError ratee.g. 0.12. errors / calls in percent.
avg_response_timeDoubleAverage response timee.g. 2.94. Milliseconds per transaction.
stddev_response_timeDoubleResponse time deviatione.g. 3.43. Population standard deviation in milliseconds; far above the average means a few very slow transactions.
total_response_timeLongTotal response timee.g. 7585. calls × avg_response_time in milliseconds: the time the application took in all; rank by it to find what costs the most.
avg_sql_timeDoubleAverage SQL timee.g. 1.67. Milliseconds per SQL execution, not per transaction.
avg_external_call_timeDoubleAverage external call timee.g. 98.5. Milliseconds per external call, not per transaction.
abnormalBooleanAbnormale.g. false. The console marks it abnormal (drawn red in its application map).

Usage

Applications that cost the most time in the last hour:

jennifer-app-summary domain_id=1000 duration=1h | sort limit=10 -total_response_time | fields application, calls, errors, error_rate, avg_response_time, stddev_response_time, avg_sql_time, avg_external_call_time

Incident hour against the hour before it, by application:

jennifer-app-summary domain_id=1000 from=20261027020000 to=20261027040000 span=1h | eval period = if(_time >= date("20261027030000", "yyyyMMddHHmmss"), "incident", "baseline") | stats sum(calls) as calls, sum(errors) as errors, sum(total_response_time) as total by application, period | eval avg_rt = round(total / calls, 1)

Applications with errors in the last 30 minutes:

jennifer-app-summary domain_id=1000 duration=30m | search errors > 0 | sort -error_rate

One application per 10 minutes:

jennifer-app-summary domain_id=1000 duration=2h span=10m | search application == "/api/orders" | fields _time, calls, errors, avg_response_time, avg_sql_time