Four Js

Genero Observability · Operate

See everything your apps do —without changing your code.

Genero Observability turns your applications' native diagnostics into OpenTelemetry traces — a per-interaction flame graph in the monitoring tool you already use. No runtime change, no I-4GL source change.

No code change
One trace per interaction
Works with your stack
trace · checkout.4gl exported to Datadog
http.request412ms
validateOrder()298ms
SELECT orders156ms
calcTax()94ms
UPDATE stock201ms
render.per61ms

slowest span

SELECT orders

156ms · orders.4gl:214

Scroll

The problem

When something slows down, you shouldn't have to guess why.

When a critical application slows down or something goes wrong, the hard part is seeing what actually happened inside it: which function ran long, which database query stalled, where the time went. Standard monitoring tools watch it from the outside — they can't see into Genero's own execution. So teams dig through logs and guess, and incidents drag on. And the usual way to get real visibility means adding tracing code to the application — risky on a mission-critical I-4GL system you'd rather not touch.

The mechanism

See inside every interaction, without touching your code

Genero Observability shows you exactly what your application did on each user action — the functions it ran, the SQL it fired, and where the time went — as a visual timeline (a flame graph) you read in the monitoring tool you already use, like Datadog or Grafana. It works through OpenTelemetry — the industry-standard format for this kind of data — and it's turned on by configuration, not code: no runtime change, no I-4GL source change.

Your Genero app runs unchanged

Enabled by configuration, not code

emits

Its native diagnostics become traces

OpenTelemetry spans

exports

Traces land in your monitoring tool

One trace per user interaction

One trace per interaction, zero code change. Your Genero app runs exactly as it does today.

Works with your stackDatadogGrafana TempoJaegerOpenTelemetry CollectorVendor-neutral OpenTelemetry — point it at any OTLP/HTTP receiver. No new platform to buy or learn.
In practice

From a slow report to the exact line that caused it

Every user interaction becomes a trace you can read at a glance.

Per-interaction flame graphs

One trace per user action — see the whole call, end to end.

Function-level timing

Which functions ran, and how long each one took.

SQL visibility

Which SQL statements fired, and their execution time.

Where the time goes

Pinpoint the slow interactions before your users feel them.

Why it matters

Faster fixes, fewer surprises

01Resolve incidents fasterGo from “a report is slow” to the exact function or query behind it, cutting mean-time-to-resolve.
02Catch regressions before customers doSee a slow interaction the moment it appears.
03On the systems you already runNo new platform, and no code change.
FAQ

Frequently asked questions

Do I have to change my application code?

No. Genero Observability is enabled by configuration, not code — no runtime change and no I-4GL source change.

Which monitoring tools are supported?

Datadog, Grafana Tempo, Jaeger — or any OTLP/HTTP receiver. It's vendor-neutral OpenTelemetry, so you point it at the stack you already run.

What does a trace show?

A per-interaction flame graph: which functions ran, which SQL statements fired, and where the time went — for each user action.

Does it change my runtime?

No. There's no runtime change and no I-4GL source change — it's enabled by configuration and exports your existing diagnostics as OpenTelemetry traces to the monitoring tool you already run.

Is this an AI feature?

No. Genero Observability watches how your applications execute — it's pure monitoring, separate from Genero Intelligence and Genero Arc's AI-agent access.