FrontTailor 1.0.0 (10 November 2026): inspector, OData, performance, UI5 2.0, AI and operations for SAP Fiori® and UI5 apps – in one panel. What’s inside → +43 664 1964199Contact →

Health and morning check

Two tabs for running SAP Fiori® and UI5 apps: Health shows how the app is doing right now – latency, error rate, session, login and last error – and replays recorded click sequences as a synthetic check. The morning check opens all apps of a list one after another and reports by traffic light what does not start. Both are part of the Enterprise edition.

Edition
from Enterprise
Tabs
“Health” and “Morning check”
Data source
the OData console’s recording, no extra request
Morning check
up to 20 lists of 30 apps, 7 runs per list
On PROD
reading and morning check allowed, replaying clicks locked

The Health tab

Open the FrontTailor panel in DevTools (F12) or the side panel and choose Health. The status bar at the top is computed from the recording of the OData console: it sends no request of its own but evaluates what the app talks to its backend anyway. In the side panel it is compact.

Health tab of the freestyle demo app with the figures backend latency, error rate, session, login and CSRF and last error after an HTTP 500
After a simulated HTTP 500, Last error is red; below are the recorder bar and the tab’s cards.
  1. Backend latency: median and p95 of the last 50 completed requests.
  2. Error rate: share of responses with status 400 or above, status 0 or network errors – including single parts of a $batch.
  3. Session: estimated time left or last activity … ago.
  4. Login & CSRF: 401 and 403 of the last two minutes and rejected CSRF tokens.
  5. Show request jumps to the OData console and selects the failed request.
FigureYellow fromRed from
Backend latency (p95)1 s3 s
Error rate5 %20 %
Login (401/403 in two minutes)13
CSRF–token rejected

Replays from the OData console do not count. If OData recording is off for the host (policy or your own choice), the tab says so instead of showing empty values.

Session and tokens

The browser does not know when the server session expires: the cookie is HttpOnly, and FrontTailor reads no cookies. The Session & tokens card therefore estimates:

  • the timeout from the launchpad configuration (the same setting the launchpad uses for its own sign-out dialog) – with reminder and automatic sign-out, if set;
  • the starting point from the last successful backend request;
  • a new backend session when sap-contextid changes between two requests.

The remaining time is marked as an estimate; ICF, approuter or identity provider may have their own timeouts. Without a launchpad it only says “No launchpad: the session timeout is not visible in the browser.” If the ABAP add-on is installed (backend service), the timeout comes from the system instead of the launchpad. A rejected CSRF token (403 with x-csrf-token: Required) is reported explicitly: session or token expired, the app must fetch a new token.

Synthetic check

Record a click sequence once and replay it when needed – for example after a deployment, to compare load times. The recorder bar is the same as in the Report a problem and Scaffolding tabs; all three see the same recording.

  1. Click Record in the recorder bar. The bar counts steps and time (at most 200 steps and 10 minutes).
  2. Click through the flow in the app. Only real user clicks count; typed text is only recorded if you tick Record typed text (masked).
  3. Click Stop. The Synthetic check card lists the steps.
  4. Choose the Timeout per step (5, 10 or 30 s) and click Run check.
Synthetic check card with two steps, status OK, load time and requests per step and the result Check passed
Two recorded clicks, replayed in the same tab: wait, load time and requests per step.
  1. The steps with status, wait until the control appears, load time and number of requests.
  2. The result: Check passed in … or Check failed after ….
  3. Run check replays the sequence in the current tab, starting at the same location hash.

For each step the check finds the control, clicks it and waits until the page has been quiet for 500 ms. If it cannot find a control (Control not found) or time runs out (Timeout), it skips the remaining steps. Generated ids like __button3 often differ after a reload; the tab marks such steps with generated id.

The morning check

Instead of opening ten apps by hand every morning: a check list opens them one after another in a background tab, waits until each one is quiet and closes it again. Nothing runs before you click.

  1. Choose the Morning check tab and click Create list – or Start with this app, then the current app is already in it.
  2. Add apps: a URL or a launchpad intent such as SalesOrder-display. For intents the list needs the Launchpad URL. Add current app takes over the tab’s page.
  3. Save, then Start check. In the same click, FrontTailor asks once per system for access; apps of systems without access stay grey.
  4. The report fills app by app. Stop ends the run after the current app.
Edit check list dialog with name, launchpad URL, open mode, thresholds and four apps
A check list with two launchpad intents, a CAP app and an outdated URL.
  1. Launchpad URL (for intents) – the check opens every intent of the list there.
  2. Open apps in: background tab or own window. Browsers slow down timers in background tabs; an own window measures closer to a real start. Only compare runs of the same mode.
  3. The list’s apps, up to 30, each with name, target and optionally the steps of a saved recording.
  4. Add current app. FrontTailor removes session-bound parameters such as sap-iapp-state, and user and password in URLs when saving.
List settingDefault
Yellow from (s)5
Red from (s)15 (never below yellow)
Time limit per app (s)60
Open apps inBackground tab

Report and traffic light

Morning check report with two green, one yellow and one red app, start times with comparison and export buttons
The second run of the day: the old URL returns HTTP 404, the CAP app has an error in the UI5 log.
  1. Run: choice of earlier runs with their balance (green, yellow, red).
  2. A red app with its reason – here HTTP 404. Details expands failed requests and UI5 log errors, Open app opens it.
  3. The comparison with the last run of the same list, for example today 2.1 s, now 679 ms – two runs on the same day are compared as “today” and “now”.
  4. Export: Copy as Markdown, To issue reporter and files as Markdown, CSV and HTML.
LightWhen
RedHTTP error, load error, no UI5, redirected (for example to the identity provider), timeout, steps failed, start at or above the red threshold
Yellowstart at or above the yellow threshold, clearly slower than in the last run (at least 1 s and 1.5 times), never quiet, errors in the UI5 log, failed requests
Greenotherwise
Grey (“not checked”)no access, policy, licence, invalid target, stopped

In the comparison the report counts failed requests as new or fixed. FrontTailor masks exports with the PII rules of the issue reporter; To issue reporter opens the Report a problem tab with title and description, and nothing is sent before preview and click.

Daily reminder

In the Daily reminder card, switch on Remind me every day, choose the time (05:00 to 12:00 in quarter hours) and, if you like, Monday to Friday only. At that time a sun ☀ appears on the FrontTailor icon and a note in the tab. The check does not start by itself and nothing is sent; the sun disappears with the next run.

Check lists can be shared in the team via Team sync; they then carry the Team tag. Runs are not shared. Lists and the last seven runs per list stay in the browser, request addresses without query strings.

Typical problems

What you seeCause and fix
“No OData requests recorded yet”The app has not talked to its backend yet. The values appear with the first request.
“Timeout not visible in the browser”The app runs without a launchpad, or the launchpad has no timeout in its client configuration. The session then only shows the last activity.
Synthetic check: Control not foundOften a generated id that changed after the reload. Record the step again on a control with a stable id.
Morning check: app stays greyNo access to the system, host locked by policy or no licence for this host. You grant access with the next Start check.
Morning check: red Redirected to … (login?) or No UI5 app foundThe login has expired and the app lands at the identity provider. Sign in once in the browser, then start again.

See also

Sources on this page

The superscript numbers in the text point here. Tap one to see the source right where it is used; all sources of this website are listed on one page.

  1. 1

    Health and synthetic check ↑Product · FrontTailor product documentation, ADR-023 “Health monitoring” · checked on 2026-11-09

  2. 2

    Morning check across several apps ↑Product · FrontTailor product documentation, ADR-043 “Morning check” · checked on 2026-11-09

  3. 3

    Shared recorder ↑Product · FrontTailor product documentation, ADR-028 “Shared recorder” · checked on 2026-11-09

Frequently asked

Short answers.

Does the Health tab send its own requests to the backend?
No. The figures come from the OData console’s recording, that is from the requests the app sends anyway.
How accurate is the remaining session time?
It is an estimate: the timeout from the launchpad configuration, counted from the last successful backend request. Server, approuter or identity provider may have their own timeouts. With the ABAP add-on the timeout comes from the system.
Does the morning check start by itself?
No. The daily reminder only puts a sun on the FrontTailor icon. The check runs only after you click Start check.
May I run the morning check on PROD?
Yes, it opens the apps like a user. It does not run recorded steps on PROD.

Your question isn’t here? Talk to me: +43 664 1964199 office@clouddna.at Get in touch

Contact

Ten tabs too many? Talk to us.

You buy Pro and Team right here. For Enterprise, sideloading, policies, a workshop or a stubborn bug in your Fiori landscape: write to me. I reply within one working day, personally.

Martin KochManaging Director, CloudDNAI read every request myself and reply personally.