> For the complete documentation index, see [llms.txt](https://docs.flopsar.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.flopsar.com/7/user-guide/setting-up-monitoring/agents.md).

# Agents

Connected JVMs appear under **Home → Instances**. Each agent reports an **application** name (`app=` on the command line) and an **instance** name (editable in the Workstation). Click an instance to open its details.

Instance telemetry (JVM, agent counters) is refreshed about every five seconds and is not persisted — it is available only while the agent stays connected.

{% hint style="info" %}
**Screenshot placeholder:** Workstation → Home → Instances. Cards for Online, Licensed, Total Methods, With Errors, and Data Sent; table of connected instances grouped by application.
{% endhint %}

## Instances list

Summary cards:

* **Online** — agents with an open session
* **Licensed** — instances that currently hold a license seat
* **Total Methods** — instrumented methods across online agents
* **With Errors** — instances that reported detected JVM errors
* **Data Sent** — outbound volume from agents

The table lists instance, application, active profile, host, technology, agent version, method count, and status. Filter by text; sort any column. An empty list means no agent has completed a handshake (check [agent tokens](/7/administrator-guide/agent/agent-tokens.md) and `server=`).

Attaching the library is an administrator task — see [Installation → Agent](/7/administrator-guide/installation/agent.md).

## Instance details

The details page has four tabs: **Details**, **Memory**, **Threads**, and **Diagnostics**.

{% hint style="info" %}
**Screenshot placeholder:** Instance details. Tabs Details / Memory / Threads / Diagnostics; Detected errors banner; identity and Settings cards.
{% endhint %}

### Details

Identity (instance name, application, PID, agent version, start and connect times), Settings (profile, loaded plugins, CPU time / memory / threads flags), and JVM identity (name, vendor). Rename the instance inline if you have permission.

**Options** (requires **Query agents**) runs live queries against that JVM:

* Command line
* JVM properties
* Threads dump
* Packages
* Class bytes
* Classloaders

**Agent Diagnostics** in the same menu:

* Telemetry
* Plugins
* Active profile

### Detected errors

The agent reports a subset of `java.lang.Error` types. When one is detected, a **Detected errors** banner lists the types and counts. Click a type to inspect occurrences. **Clear** resets the agent's error registry.

Reported types include `VerifyError`, `NoClassDefFoundError`, `ClassFormatError`, `StackOverflowError`, `OutOfMemoryError`, `UnsupportedClassVersionError`, `VirtualMachineError`, `ClassCircularityError`, `UnsatisfiedLinkError`, `NoSuchMethodError`, and `NoSuchFieldError`. If `VerifyError` or `ClassFormatError` is caused by instrumentation, exclude the offending class from the profile.

{% hint style="info" %}
The agent can report errors that never appear in the application's own logs. They are often not fatal.
{% endhint %}

### Dropped data

If the agent cannot send all collected data, a **Dropped data** warning shows how many invocations were dropped. Reduce the monitoring scope or check throughput between the agent and the server.

### Memory

A heap-usage chart for the connected instance. **Get heap dump** (requires **Switch agent's features**) requests a heap histogram: objects by class, instance count, and retained size. Heap dumps are expensive — use them briefly.

### Threads

Overall thread count is always visible. **Enable threads sampling** (same permission) adds per-thread detail. Do not leave sampling on longer than you need; it can affect application performance.

### Diagnostics

The agent does not write log files on disk. It keeps a list of internal errors, grouped and plotted. Codes look like `NNLNN`; when matching a code, use the `NNL*` prefix. The same error can occur many times; the view shows the last timestamp, optional message, and a count.

| Group                  | Codes                     | Meaning                                                                                                                            |
| ---------------------- | ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| Server communication   | `103L*`, `104L*`          | Corrupt data from the server; protocol version mismatch                                                                            |
| Instrumentation        | `402L*`, `403L*`, `406L*` | Class parse failed; retransformation failed; a method will not be instrumented                                                     |
| JVMTI                  | `20AL*`–`274L*`           | Map `XX` in `2XXL*` to the hexadecimal [JVMTI error](https://docs.oracle.com/en/java/javase/17/docs/specs/jvmti.html#ErrorSection) |
| Internal communication | `501L*`                   | Data could not be queued outbound                                                                                                  |
| Internal               | `301L*`–`30AL*`           | Missing resource, capability, class, method, or thread attach failure                                                              |
