ApplicationInsights-Java icon indicating copy to clipboard operation
ApplicationInsights-Java copied to clipboard

JMX metrics not being logged

Open s21-himesh opened this issue 7 months ago • 5 comments

Expected behavior

JMX metrics to be logged into application insights if specified in applicationinsights.json

Actual behavior

No logs captured for the JMX metrics specified.

Jmx Metrics

"jmxMetrics": [
    {
      "Name": "Menu Locks Active Locks",
      "ObjectName": "com.xxx.p2j:name=menu.locks",
      "Attribute": "ActiveLocks" 
    },
    {
      "Name": "Menu Locks Deletes From VST",
      "ObjectName": "com.xxx.p2j:name=menu.locks",
      "Attribute": "DeletesFromVST" 
    },
    {
      "Name": "Menu Locks Lock Events",
      "ObjectName": "com.xxx.p2j:name=menu.locks",
      "Attribute": "LockEvents" 
    },
    {
      "Name": "Menu Locks Persist Calls",
      "ObjectName": "com.xxx.p2j:name=menu.locks",
      "Attribute": "PersistCalls" 
    }
  ]

System information

Please provide the following information:

  • SDK Version: 3.7.2
  • OS type and version: Ubuntu 22.02
  • Application Server type and version (if applicable):
  • Using spring-boot?
  • Additional relevant libraries (with version, if applicable):

Details

Java Process

$ ps aux | grep java
fwd         1228  9.5 22.8 12629524 3729156 ?    Sl   11:09   5:16 java -XX:GCTimeRatio=19 -XX:MaxTenuringThreshold=7 -XX:StringTableSize=1000003 -Xmx8192m -server -Dcom.sun.management.jmxremote -Dc                                    om.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=22100 -Dcom.sun.management.jmxremote.rmi.port=22100 -XX:+PrintGCDetails -v                                    erbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:server_garbage_collection_stats.log -javaagent:/opt/counteract/lib/applicationinsights-agent.jar

Jstat confirming its monitoring

$ jstat -gc 1228
    S0C         S1C         S0U         S1U          EC           EU           OC           OU          MC         MU       CCSC      CCSU     YGC     YGCT     FGC    FGCT     CGC    CGCT       GCT                                        
    67072.0     67584.0         0.0     35103.4     222720.0      12281.4    2516480.0    2016039.3   121984.0   117666.9   14464.0   13423.7    227    18.764    18    41.705     -         -    60.4                                       69

Info on MBean

$>info
#mbean = com.xxx.p2j:name=menu.locks
#class name = com.goldencode.p2j.jmx.LockTableUpdaterStat
# attributes
  %0   - ActiveLocks (long, r)
  %1   - DeletesFromVST (long, r)
  %2   - LockEvents (long, r)
  %3   - PersistCalls (long, r)
  %4   - PersistedLocks (long, r)
# operations
  %0   - void flush()

Logs


2025-05-27 13:39:58.145+01:00 DEBUG c.m.a.a.i.c.ConfigurationBuilder - configuration: {"selfDiagnostics":{"level":"debug"},"preview":{"generalExportQueueCapacity":4096},"connectionString":"InstrumentationKey=************************;IngestionEndpoint=https://uksouth-1.in.applicationinsights.azure.com/;LiveEndpoint=https://uksouth.livediagnostics.monitor.azure.com/;ApplicationId=****************************************"}
2025-05-27 13:39:58.166+01:00 INFO  c.m.a.a.i.c.ConfigurationBuilder - Some telemetry may be sampled out because a default sampling configuration was added in version 3.4.0 to reduce the default billing cost. You can set the sampling configuration explicitly: https://learn.microsoft.com/azure/azure-monitor/app/java-standalone-config#sampling
2025-05-27 13:39:58.181+01:00 DEBUG c.m.applicationinsights.agent - Input arguments: [-XX:GCTimeRatio=19, -XX:MaxTenuringThreshold=7, -XX:StringTableSize=1000003, -Xmx8192m, -javaagent:/opt/counteract/lib/applicationinsights-agent.jar, -Djava.locale.providers=SPI,JRE, -Djava.ext.dirs=/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext:/usr/java/packages/lib/ext:../lib/spi]
2025-05-27 13:39:58.181+01:00 DEBUG c.m.applicationinsights.agent - _JAVA_OPTIONS: null
2025-05-27 13:39:58.181+01:00 DEBUG c.m.applicationinsights.agent - JAVA_TOOL_OPTIONS: null
2025-05-27 13:40:00.040+01:00 INFO  c.a.c.h.n.i.NettyUtility - {"az.sdk.message":"The following Netty versions were found on the classpath and have a mismatch with the versions used by azure-core-http-netty. If your application runs without issue this message can be ignored, otherwise please align the Netty versions used in your application. For more information, see https://aka.ms/azsdk/java/dependency/troubleshoot.","azure-netty-version":"4.1.115.Final","azure-netty-native-version":"2.0.69.Final","classpath-netty-version-io.netty:netty-common":"unknown (not found and is required)","classpath-netty-version-io.netty:netty-handler":"unknown (not found and is required)","classpath-netty-version-io.netty:netty-handler-proxy":"4.1.118.Final","classpath-netty-version-io.netty:netty-buffer":"unknown (not found and is required)","classpath-netty-version-io.netty:netty-codec":"unknown (not found and is required)","classpath-netty-version-io.netty:netty-codec-http":"unknown (not found and is required)","classpath-netty-version-io.netty:netty-codec-http2":"unknown (not found and is required)"}
2025-05-27 13:40:00.478+01:00 INFO  c.a.c.i.ReflectionUtilsMethodHandle - Unable to create MethodHandles to use Java 9+ MethodHandles.privateLookupIn. Will attempt to fallback to using the package-private constructor.
2025-05-27 13:40:00.526+01:00 DEBUG c.m.applicationinsights.agent - connection string is not null, start HeartbeatExporter
2025-05-27 13:40:00.720+01:00 WARN  i.o.s.a.ResourceConfiguration - Found reference to io.opentelemetry.sdk.autoconfigure.internal.EnvironmentResourceProvider in otel.java.enabled.resource.providers. Please update to io.opentelemetry.sdk.autoconfigure.EnvironmentResourceProvider. Support for the old provider name will be removed after 1.49.0.
2025-05-27 13:40:03.995+01:00 DEBUG n.b.agent.builder.AgentBuilderUtil - Could not decompose matcher failSafe(try(AnnotationInstrumentationModule#WithSpanInstrumentation((not(name(startsWith(kotlin.coroutines.))) and declaresMethods(whereOne((declaresAnnotations(whereOne(ofAnnotationType(name(equals(io.opentelemetry.instrumentation.annotations.WithSpan))))) and returns(erasure(is(class java.lang.Object))) and io.opentelemetry.javaagent.instrumentation.instrumentationannotations.KotlinCoroutineUtil$$Lambda$293/822359325@108531c2 and not(false))))))) or false)
2025-05-27 13:40:03.996+01:00 DEBUG n.b.agent.builder.AgentBuilderUtil - Could not decompose matcher failSafe(try(AnnotationInstrumentationModule#WithSpanInstrumentation(declaresMethods(whereOne(declaresAnnotations(whereOne(ofAnnotationType(name(equals(io.opentelemetry.instrumentation.annotations.WithSpan))))))))) or false)
2025-05-27 13:40:03.996+01:00 DEBUG n.b.agent.builder.AgentBuilderUtil - Could not decompose matcher failSafe(try(AnnotationInstrumentationModule#AddingSpanAttributesInstrumentation(declaresMethods(whereOne((declaresAnnotations(whereOne(ofAnnotationType(name(equals(io.opentelemetry.instrumentation.annotations.AddingSpanAttributes))))) and not(declaresAnnotations(whereOne(ofAnnotationType(name(equals(io.opentelemetry.instrumentation.annotations.WithSpan))))))))))) or false)
2025-05-27 13:40:03.998+01:00 DEBUG n.b.agent.builder.AgentBuilderUtil - Could not decompose matcher failSafe(try(WithSpanInstrumentationModule#WithSpanInstrumentation(declaresMethods(whereOne(declaresAnnotations(whereOne(ofAnnotationType(name(equals(io.opentelemetry.extension.annotations.WithSpan))))))))) or false)
2025-05-27 13:40:03.999+01:00 DEBUG n.b.agent.builder.AgentBuilderUtil - Could not decompose matcher failSafe(try(JaxrsInstrumentationModule#JaxrsAnnotationsInstrumentation(safeHasSuperType(safeErasure((declaresAnnotations(whereOne(ofAnnotationType(name(equals(javax.ws.rs.Path))))) or declaresMethods(whereOne(declaresAnnotations(whereOne(ofAnnotationType(name(equals(javax.ws.rs.Path)))))))))))) or false)
2025-05-27 13:40:03.999+01:00 DEBUG n.b.agent.builder.AgentBuilderUtil - Could not decompose matcher failSafe(try(JaxrsAnnotationsInstrumentationModule#JaxrsAnnotationsInstrumentation(safeHasSuperType(safeErasure((declaresAnnotations(whereOne(ofAnnotationType(name(equals(javax.ws.rs.Path))))) or declaresMethods(whereOne(declaresAnnotations(whereOne(ofAnnotationType(name(equals(javax.ws.rs.Path)))))))))))) or false)
2025-05-27 13:40:04.000+01:00 DEBUG n.b.agent.builder.AgentBuilderUtil - Could not decompose matcher failSafe(try(JaxrsAnnotationsInstrumentationModule#JaxrsAnnotationsInstrumentation(safeHasSuperType(safeErasure((declaresAnnotations(whereOne(ofAnnotationType(name(equals(jakarta.ws.rs.Path))))) or declaresMethods(whereOne(declaresAnnotations(whereOne(ofAnnotationType(name(equals(jakarta.ws.rs.Path)))))))))))) or false)
2025-05-27 13:40:04.000+01:00 DEBUG n.b.agent.builder.AgentBuilderUtil - Could not decompose matcher failSafe(try(JwsInstrumentationModule#JwsAnnotationsInstrumentation((safeHasSuperType(safeErasure(declaresAnnotations(whereOne(ofAnnotationType(name(equals(javax.jws.WebService))))))) or declaresAnnotations(whereOne(ofAnnotationType(name(equals(javax.jws.WebService)))))))) or false)
2025-05-27 13:40:05.676+01:00 DEBUG c.a.m.o.a.i.quickpulse.QuickPulse - Initializing QuickPulse with instrumentation key: **************, URL https://uksouth.livediagnostics.monitor.azure.com/, rolename null, role instance c-act, sdk version 3.7.1
2025-05-27 13:40:06.035+01:00 DEBUG c.a.m.o.a.i.q.f.FilteringConfiguration - Initializing an empty live metrics filtering configuration - did not yet receive a configuration from ping or post.
2025-05-27 13:40:06.141+01:00 DEBUG c.a.m.o.a.i.q.QuickPulseCoordinator - QuickPulseDataSender initialized with endpointUrl: https://uksouth.livediagnostics.monitor.azure.com/, instrumentationKey: ******************************
2025-05-27 13:40:06.149+01:00 DEBUG c.a.m.o.a.i.q.QuickPulsePingSender - About to ping quickpulse with the endpoint prefix: https://uksouth.livediagnostics.monitor.azure.com/
2025-05-27 13:40:22.034+01:00 INFO  c.m.applicationinsights.agent - Application Insights Java Agent 3.7.1 started successfully (PID 1219, JVM running for 41.218 s)
2025-05-27 13:40:22.034+01:00 INFO  c.m.applicationinsights.agent - Java version: 1.8.0_442, vendor: Private Build, home: /usr/lib/jvm/java-8-openjdk-amd64/jre
2025-05-27 13:40:28.670+01:00 DEBUG c.a.m.o.a.i.q.QuickPulsePingSender - About to ping quickpulse with the endpoint prefix: https://uksouth.livediagnostics.monitor.azure.com/

s21-himesh avatar May 28 '25 12:05 s21-himesh

hi @s21-himesh, can you see if this helps? https://learn.microsoft.com/en-us/azure/azure-monitor/app/java-jmx-metrics-configuration#how-do-i-know-what-metrics-are-available-to-configure

trask avatar May 29 '25 00:05 trask

Hi @trask,

I can confirm this is the page used to understand what changes I needed to make to try get this to work.

I've also tried the troubleshoot here: https://github.com/microsoft/ApplicationInsights-Java/wiki/Troubleshoot-JMX-metrics

s21-himesh avatar May 29 '25 08:05 s21-himesh

can you include the output from the debug log that shows all of the JMX metrics that were found?

trask avatar May 29 '25 19:05 trask

Hi @trask

Metrics found below:-


2025-05-22 16:11:49.684+01:00 INFO  c.m.a.a.i.p.AvailableJmxMetricLogger - available jmx metrics:
  - object name:        com.xxx.p2j:name=menu.locks
    attributes: ActiveLocks (number), DeletesFromVST (number), LockEvents (number), PersistCalls (number), PersistedLocks (number)
  - object name:        com.xxx.p2j:name=ThreadsCpuUtilization
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        com.xxx.p2j:name=TMRollback
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        com.xxx.p2j:name=OutputTableHandleCopier
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        java.lang:type=MemoryPool,name=PS Survivor Space
    attributes: CollectionUsage.committed (number), CollectionUsage.init (number), CollectionUsage.max (number), CollectionUsage.used (number), CollectionUsageThreshold (number), CollectionUsageThresholdCount (number), CollectionUsageThresholdExceeded (boolean), CollectionUsageThresholdSupported (boolean), MemoryManagerNames (other), Name (string), ObjectName (other), PeakUsage.committed (number), PeakUsage.init (number), PeakUsage.max (number), PeakUsage.used (number), Type (string), Usage.committed (number), Usage.init (number), Usage.max (number), Usage.used (number), UsageThreshold (exception), UsageThresholdCount (exception), UsageThresholdExceeded (exception), UsageThresholdSupported (boolean), Valid (boolean)
  - object name:        JMImplementation:type=MBeanServerDelegate
    attributes: ImplementationName (string), ImplementationVendor (string), ImplementationVersion (string), MBeanServerId (string), SpecificationName (string), SpecificationVendor (string), SpecificationVersion (number)
  - object name:        java.lang:type=Runtime
    attributes: BootClassPath (string), BootClassPathSupported (boolean), ClassPath (string), InputArguments (other), LibraryPath (string), ManagementSpecVersion (number), Name (string), ObjectName (other), SpecName (string), SpecVendor (string), SpecVersion (number), StartTime (number), SystemProperties (other), Uptime (number), VmName (string), VmVendor (string), VmVersion (string)
  - object name:        com.xxx.p2j:name=objToByteArray
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        java.lang:type=Threading
    attributes: AllThreadIds (other), CurrentThreadAllocatedBytes (number), CurrentThreadCpuTime (number), CurrentThreadCpuTimeSupported (boolean), CurrentThreadUserTime (number), DaemonThreadCount (number), ObjectMonitorUsageSupported (boolean), ObjectName (other), PeakThreadCount (number), SynchronizerUsageSupported (boolean), ThreadAllocatedMemoryEnabled (boolean), ThreadAllocatedMemorySupported (boolean), ThreadContentionMonitoringEnabled (boolean), ThreadContentionMonitoringSupported (boolean), ThreadCount (number), ThreadCpuTimeEnabled (boolean), ThreadCpuTimeSupported (boolean), TotalStartedThreadCount (number), TotalThreadAllocatedBytes (number)
  - object name:        com.xxx.p2j:name=OrmDynQueryProcess_Base
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        com.xxx.p2j:name=NetworkReads
    attributes: Annotation (string), Count (number), Enabled (boolean), Total (number)
  - object name:        java.lang:type=MemoryPool,name=Metaspace
    attributes: CollectionUsage.committed (unexpected: null), CollectionUsage.init (unexpected: null), CollectionUsage.max (unexpected: null), CollectionUsage.used (unexpected: null), CollectionUsageThreshold (exception), CollectionUsageThresholdCount (exception), CollectionUsageThresholdExceeded (exception), CollectionUsageThresholdSupported (boolean), MemoryManagerNames (other), Name (string), ObjectName (other), PeakUsage.committed (number), PeakUsage.init (number), PeakUsage.max (number), PeakUsage.used (number), Type (string), Usage.committed (number), Usage.init (number), Usage.max (number), Usage.used (number), UsageThreshold (number), UsageThresholdCount (number), UsageThresholdExceeded (boolean), UsageThresholdSupported (boolean), Valid (boolean)
  - object name:        java.lang:type=MemoryManager,name=CodeCacheManager
    attributes: MemoryPoolNames (other), Name (string), ObjectName (other), Valid (boolean)
  - object name:        java.lang:type=MemoryPool,name=Compressed Class Space
    attributes: CollectionUsage.committed (unexpected: null), CollectionUsage.init (unexpected: null), CollectionUsage.max (unexpected: null), CollectionUsage.used (unexpected: null), CollectionUsageThreshold (exception), CollectionUsageThresholdCount (exception), CollectionUsageThresholdExceeded (exception), CollectionUsageThresholdSupported (boolean), MemoryManagerNames (other), Name (string), ObjectName (other), PeakUsage.committed (number), PeakUsage.init (number), PeakUsage.max (number), PeakUsage.used (number), Type (string), Usage.committed (number), Usage.init (number), Usage.max (number), Usage.used (number), UsageThreshold (number), UsageThresholdCount (number), UsageThresholdExceeded (boolean), UsageThresholdSupported (boolean), Valid (boolean)
  - object name:        com.xxx.p2j:name=OrmCreateDynamicBuffer
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        com.mchange.v2.c3p0:type=C3P0Registry
    attributes: AllIdentityTokenCount (number), AllIdentityTokenized (other), AllIdentityTokenizedCount (number), AllIdentityTokenizedStringified (other), AllIdentityTokens (other), AllPooledDataSources (other), AllPooledDataSourcesCount (number), AllPooledDataSourcesStringified (other), C3p0Version (string), NumPooledDataSources (number), NumPoolsAllDataSources (number)
  - object name:        com.xxx.p2j:name=WidgetAttrFlushes
    attributes: Annotation (string), Count (number), Enabled (boolean), Total (number)
  - object name:        java.lang:type=ClassLoading
    attributes: LoadedClassCount (number), ObjectName (other), TotalLoadedClassCount (number), UnloadedClassCount (number), Verbose (boolean)
  - object name:        java.lang:type=MemoryPool,name=PS Eden Space
    attributes: CollectionUsage.committed (number), CollectionUsage.init (number), CollectionUsage.max (number), CollectionUsage.used (number), CollectionUsageThreshold (number), CollectionUsageThresholdCount (number), CollectionUsageThresholdExceeded (boolean), CollectionUsageThresholdSupported (boolean), MemoryManagerNames (other), Name (string), ObjectName (other), PeakUsage.committed (number), PeakUsage.init (number), PeakUsage.max (number), PeakUsage.used (number), Type (string), Usage.committed (number), Usage.init (number), Usage.max (number), Usage.used (number), UsageThreshold (exception), UsageThresholdCount (exception), UsageThresholdExceeded (exception), UsageThresholdSupported (boolean), Valid (boolean)
  - object name:        com.xxx.p2j:name=QueryCounter
    attributes: ReadQueriesCount (number), WriteQueriesCount (number)
  - object name:        com.xxx.p2j:name=OrmDynamicDataSetParam
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        com.xxx.p2j:name=sslSend
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        com.mchange.v2.c3p0:type=PooledDataSource,identityToken=1bqrg1vba1wyoftbudlzxn|feb57b4,name=1bqrg1vba1wyoftbudlzxn|feb57b4
    attributes: acquireIncrement (number), acquireRetryAttempts (number), acquireRetryDelay (number), allUsers (other), autoCommitOnClose (boolean), automaticTestTable (other), breakAfterAcquireFailure (boolean), checkoutTimeout (number), connectionCustomizerClassName (other), connectionTesterClassName (string), contextClassLoaderSource (string), dataSourceName (string), debugUnreturnedConnectionStackTraces (boolean), description (other), driverClass (string), effectivePropertyCycleDefaultUser (number), extensions (other), factoryClassLocation (other), forceIgnoreUnresolvedTransactions (boolean), forceSynchronousCheckins (boolean), forceUseNamedDriverClass (boolean), identityToken (string), idleConnectionTestPeriod (number), initialPoolSize (number), jdbcUrl (string), loginTimeout (number), maxAdministrativeTaskTime (number), maxConnectionAge (number), maxIdleTime (number), maxIdleTimeExcessConnections (number), maxPoolSize (number), maxStatements (number), maxStatementsPerConnection (number), minPoolSize (number), numBusyConnections (number), numBusyConnectionsAllUsers (number), numBusyConnectionsDefaultUser (number), numConnections (number), numConnectionsAllUsers (number), numConnectionsDefaultUser (number), numFailedCheckinsDefaultUser (number), numFailedCheckoutsDefaultUser (number), numFailedIdleTestsDefaultUser (number), numHelperThreads (number), numIdleConnections (number), numIdleConnectionsAllUsers (number), numIdleConnectionsDefaultUser (number), numThreadsAwaitingCheckoutDefaultUser (number), numUnclosedOrphanedConnections (number), numUnclosedOrphanedConnectionsAllUsers (number), numUnclosedOrphanedConnectionsDefaultUser (number), numUserPools (number), overrideDefaultPassword (other), overrideDefaultUser (other), parentLogger (other), preferredTestQuery (other), privilegeSpawnedThreads (boolean), propertyChangeListeners (other), propertyCycle (number), startTimeMillisDefaultUser (number), statementCacheNumCheckedOutDefaultUser (number), statementCacheNumCheckedOutStatementsAllUsers (number), statementCacheNumConnectionsWithCachedStatementsAllUsers (number), statementCacheNumConnectionsWithCachedStatementsDefaultUser (number), statementCacheNumDeferredCloseThreads (number), statementCacheNumStatementsAllUsers (number), statementCacheNumStatementsDefaultUser (number), statementDestroyerNumActiveThreads (number), statementDestroyerNumConnectionsInUseAllUsers (number), statementDestroyerNumConnectionsInUseDefaultUser (number), statementDestroyerNumConnectionsWithDeferredDestroyStatementsAllUsers (number), statementDestroyerNumConnectionsWithDeferredDestroyStatementsDefaultUser (number), statementDestroyerNumDeferredDestroyStatementsAllUsers (number), statementDestroyerNumDeferredDestroyStatementsDefaultUser (number), statementDestroyerNumIdleThreads (number), statementDestroyerNumTasksPending (number), statementDestroyerNumThreads (number), testConnectionOnCheckin (boolean), testConnectionOnCheckout (boolean), threadPoolNumActiveThreads (number), threadPoolNumIdleThreads (number), threadPoolNumTasksPending (number), threadPoolSize (number), unreturnedConnectionTimeout (number), upTimeMillisDefaultUser (number), user (string), userOverrides (other), userOverridesAsString (other), usesTraditionalReflectiveProxies (boolean), vetoableChangeListeners (other)
  - object name:        com.xxx.p2j:name=OrmDynParseQuery
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        com.xxx.p2j:name=OrmDataSetParam
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        com.xxx.p2j:name=OrmDynQueryProcess_SchemaDict
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        com.xxx.p2j:name=NetworkWrites
    attributes: Annotation (string), Count (number), Enabled (boolean), Total (number)
  - object name:        com.xxx.p2j:name=TMValidate
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        com.xxx.p2j:name=OrmBufferDefinePerm
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        com.xxx.p2j:name=ApperverGetJavaParameter
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        com.xxx.p2j:name=All
    attributes: Annotation (other)
  - object name:        java.lang:type=GarbageCollector,name=PS MarkSweep
    attributes: CollectionCount (number), CollectionTime (number), LastGcInfo.duration (number), LastGcInfo.endTime (number), LastGcInfo.id (number), LastGcInfo.memoryUsageAfterGc (other), LastGcInfo.memoryUsageBeforeGc (other), LastGcInfo.startTime (number), MemoryPoolNames (other), Name (string), ObjectName (other), Valid (boolean)
  - object name:        com.xxx.p2j:name=OrmBufferDelete
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        com.xxx.p2j:name=sslWrap
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        com.xxx.p2j:name=AppserverAddTableMetaData
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        com.xxx.p2j:name=OrmDynQueryProcess_Parse
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        com.xxx.p2j:name=OrmDynParseFind
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        com.xxx.p2j:name=ContextLocalGet
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        com.xxx.p2j:name=OutputTableCopier
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        com.xxx.p2j:name=OrmDynamicTableParam
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        com.xxx.p2j:name=TMCommit
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        com.xxx.p2j:name=OrmFqlParse
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        com.xxx.p2j:name=OrmDynQueryProcess_Setup
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        com.sun.management:type=DiagnosticCommand
    attributes: (no attributes found)
  - object name:        com.xxx.p2j:name=OrmTableMapperMap
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        com.xxx.p2j:name=OrmCreateDynamicTable
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        com.sun.management:type=HotSpotDiagnostic
    attributes: DiagnosticOptions (other), ObjectName (other)
  - object name:        jdk.management.jfr:type=FlightRecorder
    attributes: Configurations (other), EventTypes (other), ObjectName (other), Recordings (other)
  - object name:        com.xxx.p2j:name=OrmTempTableQuery
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        com.xxx.p2j:name=SpreadsheetCmdNanos
    attributes: Annotation (string), Count (number), Enabled (boolean), MapCounts (other), MapValues (other), Total (number)
  - object name:        com.xxx.p2j:name=OrmDynQueryProcess_Post
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        com.xxx.p2j:name=OrmBufferDefineTemp
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        java.lang:type=MemoryManager,name=Metaspace Manager
    attributes: MemoryPoolNames (other), Name (string), ObjectName (other), Valid (boolean)
  - object name:        com.xxx.p2j:name=OrmDynQueryProcess_Intern
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        java.lang:type=OperatingSystem
    attributes: Arch (string), AvailableProcessors (number), CommittedVirtualMemorySize (number), FreePhysicalMemorySize (number), FreeSwapSpaceSize (number), MaxFileDescriptorCount (number), Name (string), ObjectName (other), OpenFileDescriptorCount (number), ProcessCpuLoad (number), ProcessCpuTime (number), SystemCpuLoad (number), SystemLoadAverage (number), TotalPhysicalMemorySize (number), TotalSwapSpaceSize (number), Version (string)
  - object name:        java.lang:type=Compilation
    attributes: CompilationTimeMonitoringSupported (boolean), Name (string), ObjectName (other), TotalCompilationTime (number)
  - object name:        java.nio:type=BufferPool,name=direct
    attributes: Count (number), MemoryUsed (number), Name (string), ObjectName (other), TotalCapacity (number)
  - object name:        java.lang:type=GarbageCollector,name=PS Scavenge
    attributes: CollectionCount (number), CollectionTime (number), LastGcInfo.duration (number), LastGcInfo.endTime (number), LastGcInfo.id (number), LastGcInfo.memoryUsageAfterGc (other), LastGcInfo.memoryUsageBeforeGc (other), LastGcInfo.startTime (number), MemoryPoolNames (other), Name (string), ObjectName (other), Valid (boolean)
  - object name:        java.lang:type=MemoryPool,name=PS Old Gen
    attributes: CollectionUsage.committed (number), CollectionUsage.init (number), CollectionUsage.max (number), CollectionUsage.used (number), CollectionUsageThreshold (number), CollectionUsageThresholdCount (number), CollectionUsageThresholdExceeded (boolean), CollectionUsageThresholdSupported (boolean), MemoryManagerNames (other), Name (string), ObjectName (other), PeakUsage.committed (number), PeakUsage.init (number), PeakUsage.max (number), PeakUsage.used (number), Type (string), Usage.committed (number), Usage.init (number), Usage.max (number), Usage.used (number), UsageThreshold (number), UsageThresholdCount (number), UsageThresholdExceeded (boolean), UsageThresholdSupported (boolean), Valid (boolean)
  - object name:        java.util.logging:type=Logging
    attributes: LoggerNames (other), ObjectName (other)
  - object name:        com.xxx.p2j:name=MessagePayloadS11n
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        java.lang:type=MemoryPool,name=Code Cache
    attributes: CollectionUsage.committed (unexpected: null), CollectionUsage.init (unexpected: null), CollectionUsage.max (unexpected: null), CollectionUsage.used (unexpected: null), CollectionUsageThreshold (exception), CollectionUsageThresholdCount (exception), CollectionUsageThresholdExceeded (exception), CollectionUsageThresholdSupported (boolean), MemoryManagerNames (other), Name (string), ObjectName (other), PeakUsage.committed (number), PeakUsage.init (number), PeakUsage.max (number), PeakUsage.used (number), Type (string), Usage.committed (number), Usage.init (number), Usage.max (number), Usage.used (number), UsageThreshold (number), UsageThresholdCount (number), UsageThresholdExceeded (boolean), UsageThresholdSupported (boolean), Valid (boolean)
  - object name:        com.xxx.p2j:name=ServerStateS11n
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        com.xxx.p2j:name=OrmDynQueryProcess_Parse2
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        com.xxx.p2j:name=OrmDynQueryProcess_Core
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        com.xxx.p2j:name=LegacyServiceWorkerTaskCounter
    attributes: Annotation (string), Count (number), Enabled (boolean), MapCounts (other), MapValues (other), Total (number)
  - object name:        com.xxx.p2j:name=AppserverGetOutputParameter
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        com.xxx.p2j:name=OrmHydrateRecord
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        java.nio:type=BufferPool,name=mapped
    attributes: Count (number), MemoryUsed (number), Name (string), ObjectName (other), TotalCapacity (number)
  - object name:        com.xxx.p2j:name=sslUnwrap
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        com.xxx.p2j:name=QueryProfiler
    attributes: Annotation (string), Enabled (boolean), QueryCount (number), Values (other)
  - object name:        com.xxx.p2j:name=OrmDynQueryInterpret
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        com.xxx.p2j:name=OrmDynQueryProcess_Annotation
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        com.xxx.p2j:name=OrmPreselectQueryAssemble
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        com.xxx.p2j:name=OutputDataSetHandleCopier
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        com.xxx.p2j:name=OrmHqlHelperParse
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        com.xxx.p2j:name=WidgetAttrEnqueues
    attributes: Annotation (string), Count (number), Enabled (boolean), MapCounts (other), MapValues (other), Total (number)
  - object name:        com.xxx.p2j:name=OrmTempTableParam
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        java.lang:type=Memory
    attributes: HeapMemoryUsage.committed (number), HeapMemoryUsage.init (number), HeapMemoryUsage.max (number), HeapMemoryUsage.used (number), NonHeapMemoryUsage.committed (number), NonHeapMemoryUsage.init (number), NonHeapMemoryUsage.max (number), NonHeapMemoryUsage.used (number), ObjectName (other), ObjectPendingFinalizationCount (number), Verbose (boolean)
  - object name:        com.xxx.p2j:name=OutputDataSetCopier
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)
  - object name:        com.xxx.p2j:name=OrmDynQueryProcess_SymRes
    attributes: Annotation (string), Count (number), Enabled (boolean), TotalTimeMs (number), TotalTimeNs (number)

s21-himesh avatar May 30 '25 08:05 s21-himesh

The log shows this is available:

  - object name:        com.xxx.p2j:name=menu.locks
    attributes: ActiveLocks (number), DeletesFromVST (number), LockEvents (number), PersistCalls (number), PersistedLocks (number)

do any JMX metrics work for you? we will need your help to troubleshoot and narrow the issue down so that we can help

trask avatar Jul 13 '25 01:07 trask