You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: DESIGN.md
+7-4
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,7 @@ Application Metrics for Java™ is composed of:
8
8
9
9
## Components
10
10
### Agent
11
-
An Agent that stores data added via the API and emits data to receivers.
11
+
`com.ibm.javametrics.agent` package implements an Agent that stores data added via the API and emits data to receivers.
12
12
13
13
### Javametrics API
14
14
Javametrics provides a Java API to interface with the Agent. The interface in the `com.ibm.javametrics` package consists of:
@@ -17,12 +17,15 @@ Javametrics provides a Java API to interface with the Agent. The interface in th
17
17
*`Topic` - API to send data to the agent for a named topic.
18
18
19
19
### Data Providers
20
-
21
-
#### MBean providers
22
-
`com.ibm.javametrics.dataproviders.MBeanDataProvider` is initialized statically in `com.ibm.javametrics.Javametrics` class. It gathers data from the MBean providers every 2 seconds and sends the data to the agent using the Javametrics API. MBean providers in the `com.ibm.javametrics.dataproviders` package are:
20
+
`com.ibm.javametrics.dataproviders.DataProviderManager` is instantiated by `com.ibm.javametrics.impl.JavametricsImpl`.
21
+
It gathers data from the data providers every 2 seconds and sends the data to the agent using the Javametrics API.
22
+
23
+
Data providers in the `com.ibm.javametrics.dataproviders` package are:
23
24
*`CPUDataProvider` - system and process cpu usage data
24
25
*`GCDataProvider` - garbage collection statistics
25
26
*`MemoryPoolDataProvider` - heap and native memory usage data
27
+
*`EnvironmentDataProvider` - runtime environment data
28
+
26
29
27
30
#### Instrumentation providers
28
31
Bytecode Instrumentation is used to gather HTTP data. Servlet and JSP classes are instrumented with callbacks to track and time the requests. The callbacks use the Javametrics API to send the data to the agent.
0 commit comments