JENNIFERSOFT

The JENNIFER story

Why we start
with a request.

The questions behind Active Service, X-View and our work in application performance.

01

Users are still waiting

A user sends a request, but no response comes back. An engineer checks the logs and metrics. The service is clearly slow. But it is hard to see what the request is doing inside the server, or where it is taking time.

Users wait while the operations team struggles to find the cause. We wanted to ease that frustration. Could we see what was happening inside, without waiting for the request to finish? That question was the start of JENNIFER.

Concept sketch connecting a waiting request, elapsed time, unseen internal work, logs, and metrics
A concept sketch of the problem · Not an original design document

Explore the product experience

02

Before a request ends

We wanted to bring running requests into view. Which requests had arrived? How long had each one been running? Which ones were taking unusually long? We wondered what it would be like to see all this at a glance.

We turned that idea into Active Service. It shows running requests with elapsed time and colors, so engineers can look at long-running requests right away. We wanted to go beyond checking records after a problem had passed. We wanted engineers to see it while it was happening.

Concept illustration highlighting a long-running request among running requests
Concept illustration · Not a product screen

Explore the product experience

03

Spotting slow requests

Even after a request ended, questions remained. Which requests had been slow among so many? And which tasks inside them had taken time?

We decided to show each request as a dot. Placing requests that took longer higher up made them easy to spot. That became X-View. Engineers can select a dot that stands out, then look at methods, SQL, and external calls to find where the time was spent.

Concept illustration showing selected requests in a distribution of completed requests
Concept illustration · Not a product screen

Explore the product experience

04

As applications became more varied

The languages and methods used to build applications became more varied. But operations teams still wanted to know much the same things. Which requests were slow? What was happening inside them?

JENNIFER grew with these changes. We expanded support beyond Java to .NET Core, PHP, Node.js, and Python. We wanted teams to understand application performance and investigate problems in a consistent way across these environments.

Concept illustration connecting services labelled Java, .NET, Node.js, Python, and PHP
Supported platforms · Compatibility details vary by version

Explore the product experience

05

Finding your way in Kubernetes

A single request now passes through several services. Applications run in Kubernetes, and services connect through a microservices architecture (MSA). When a request slows down, engineers need to look inside the application. They also need to check what happened to the related pods and nodes.

JENNIFER Kubernetes lets teams view transaction flows alongside Kubernetes status and events. Even as systems become more complex, we want to help customers find where to start looking. That remains the role of APM as environments change.

KUBERNETES Concept illustration · Services and their runtime environmentConcept illustration of microservices in a Kubernetes cluster and related runtime resources
Concept illustration · Not a product screen

Explore the product experience

06

Ask questions in JENNIFER

As you look through JENNIFER, questions come up. Why did this request take so long? What does this error mean? Where should I look next?

We thought it would help to ask those questions directly in JENNIFER. You could ask as you explored, even if reading performance data was new to you, or the problem was hard to work through alone.

So we connected the performance data collected by JENNIFER to a large language model (LLM). You can ask about the data you are viewing, read the answer, and ask follow-up questions to narrow down the problem. We hope this makes it a little easier for engineers to understand the data and decide where to look next.

CONCEPT FLOW / AI ANALYSIS

Why is it slow? Ask in JENNIFER

01

JENNIFER performance data

Requests, response times, SQL, external calls, errors

02

Connected LLM

An external service or a model run by your organization*

03

Ask and review

Check answers against the records, then ask again

Follow-up questions · Review the same performance data
This is a concept illustration, not a product screen. *Available LLM connections depend on the deployment setup and product version.

Explore the product experience

07

Environments change. Our questions remain

The wish to see running requests led us to analyze slow transactions. From there, we added support for more languages and Kubernetes, then new ways to use performance data with AI.

Technology keeps changing, but the problem we want to solve remains. Why are users waiting? How can operations teams find the reason sooner? These questions will continue to guide how we build JENNIFER APM.

Concept sketch of APM growing from web applications to varied environments and using data with AI
A concept sketch of the problem we keep working on · Not an actual design document

Explore the product experience

See JENNIFER with your
application in mind.

Tell us what you operate and what you need to understand.

JENNIFER

JENNIFER