test_class.file: agent/core/src/test/java/org/glowroot/agent/live/LiveJvmServiceImplTest.java
test_class.identifier: LiveJvmServiceImplTest
test_case.body: @Test
      public void testParseable() {
          assertThat(LiveJvmServiceImpl.parseProcessId("123456@host")).isEqualTo(123456);
      }
test_case.class_method_signature: LiveJvmServiceImplTest.testParseable()
test_case.full_signature: @Test public void testParseable()
test_case.identifier: testParseable
test_case.invocations: isEqualTo assertThat parseProcessId
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testParseable()
focal_class.declarator: logger = LoggerFactory.getLogger(LiveJvmServiceImpl.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger logger = LoggerFactory.getLogger(LiveJvmServiceImpl.class);
focal_class.type: Logger
focal_class.var_name: logger
focal_class.declarator: HOT_SPOT_DIAGNOSTIC_MBEAN_NAME =
              "com.sun.management:type=HotSpotDiagnostic"
focal_class.modifier: private static final
focal_class.original_string: private static final String HOT_SPOT_DIAGNOSTIC_MBEAN_NAME =
              "com.sun.management:type=HotSpotDiagnostic";
focal_class.type: String
focal_class.var_name: HOT_SPOT_DIAGNOSTIC_MBEAN_NAME
focal_class.declarator: PROCESS_ID =
              parseProcessId(ManagementFactory.getRuntimeMXBean().getName())
focal_class.modifier: private static final @Nullable
focal_class.original_string: private static final @Nullable Long PROCESS_ID =
              parseProcessId(ManagementFactory.getRuntimeMXBean().getName());
focal_class.type: Long
focal_class.var_name: PROCESS_ID
focal_class.declarator: numericAttributeTypes =
              ImmutableSet.of("long", "int", "double", "float", "java.lang.Long", "java.lang.Integer",
                      "java.lang.Double", "java.lang.Float")
focal_class.modifier: private static final
focal_class.original_string: private static final ImmutableSet<String> numericAttributeTypes =
              ImmutableSet.of("long", "int", "double", "float", "java.lang.Long", "java.lang.Integer",
                      "java.lang.Double", "java.lang.Float");
focal_class.type: ImmutableSet<String>
focal_class.var_name: numericAttributeTypes
focal_class.declarator: lazyPlatformMBeanServer
focal_class.modifier: private final
focal_class.original_string: private final LazyPlatformMBeanServer lazyPlatformMBeanServer;
focal_class.type: LazyPlatformMBeanServer
focal_class.var_name: lazyPlatformMBeanServer
focal_class.declarator: threadDumpService
focal_class.modifier: private final
focal_class.original_string: private final ThreadDumpService threadDumpService;
focal_class.type: ThreadDumpService
focal_class.var_name: threadDumpService
focal_class.declarator: threadAllocatedBytesAvailability
focal_class.modifier: private final
focal_class.original_string: private final Availability threadAllocatedBytesAvailability;
focal_class.type: Availability
focal_class.var_name: threadAllocatedBytesAvailability
focal_class.declarator: configService
focal_class.modifier: private final
focal_class.original_string: private final ConfigService configService;
focal_class.type: ConfigService
focal_class.var_name: configService
focal_class.declarator: glowrootJarFile
focal_class.modifier: private final @Nullable
focal_class.original_string: private final @Nullable File glowrootJarFile;
focal_class.type: File
focal_class.var_name: glowrootJarFile
focal_class.declarator: clock
focal_class.modifier: private final
focal_class.original_string: private final Clock clock;
focal_class.type: Clock
focal_class.var_name: clock
focal_class.file: agent/core/src/main/java/org/glowroot/agent/live/LiveJvmServiceImpl.java
focal_class.identifier: LiveJvmServiceImpl
focal_class.interfaces: implements LiveJvmService
focal_class.class_method_signature: LiveJvmServiceImpl.LiveJvmServiceImpl(LazyPlatformMBeanServer lazyPlatformMBeanServer,
              TransactionRegistry transactionRegistry, TraceCollector traceCollector,
              Availability threadAllocatedBytesAvailability, ConfigService configService,
              @Nullable File glowrootJarFile, Clock clock)
focal_class.full_signature: public  LiveJvmServiceImpl(LazyPlatformMBeanServer lazyPlatformMBeanServer,
              TransactionRegistry transactionRegistry, TraceCollector traceCollector,
              Availability threadAllocatedBytesAvailability, ConfigService configService,
              @Nullable File glowrootJarFile, Clock clock)
focal_class.identifier: LiveJvmServiceImpl
focal_class.modifiers: public
focal_class.parameters: (LazyPlatformMBeanServer lazyPlatformMBeanServer,
              TransactionRegistry transactionRegistry, TraceCollector traceCollector,
              Availability threadAllocatedBytesAvailability, ConfigService configService,
              @Nullable File glowrootJarFile, Clock clock)
focal_class.signature:  LiveJvmServiceImpl(LazyPlatformMBeanServer lazyPlatformMBeanServer,
              TransactionRegistry transactionRegistry, TraceCollector traceCollector,
              Availability threadAllocatedBytesAvailability, ConfigService configService,
              @Nullable File glowrootJarFile, Clock clock)
focal_class.class_method_signature: LiveJvmServiceImpl.isAvailable(String agentId)
focal_class.full_signature: @Override public boolean isAvailable(String agentId)
focal_class.identifier: isAvailable
focal_class.modifiers: @Override public
focal_class.parameters: (String agentId)
focal_class.return: boolean
focal_class.signature: boolean isAvailable(String agentId)
focal_class.class_method_signature: LiveJvmServiceImpl.getThreadDump(String agentId)
focal_class.full_signature: @Override public ThreadDump getThreadDump(String agentId)
focal_class.identifier: getThreadDump
focal_class.modifiers: @Override public
focal_class.parameters: (String agentId)
focal_class.return: ThreadDump
focal_class.signature: ThreadDump getThreadDump(String agentId)
focal_class.class_method_signature: LiveJvmServiceImpl.getJstack(String agentId)
focal_class.full_signature: @Override public String getJstack(String agentId)
focal_class.identifier: getJstack
focal_class.modifiers: @Override public
focal_class.parameters: (String agentId)
focal_class.return: String
focal_class.signature: String getJstack(String agentId)
focal_class.class_method_signature: LiveJvmServiceImpl.getAvailableDiskSpace(String agentId, String directory)
focal_class.full_signature: @Override public long getAvailableDiskSpace(String agentId, String directory)
focal_class.identifier: getAvailableDiskSpace
focal_class.modifiers: @Override public
focal_class.parameters: (String agentId, String directory)
focal_class.return: long
focal_class.signature: long getAvailableDiskSpace(String agentId, String directory)
focal_class.class_method_signature: LiveJvmServiceImpl.heapDump(String agentId, String directory)
focal_class.full_signature: @Override public HeapDumpFileInfo heapDump(String agentId, String directory)
focal_class.identifier: heapDump
focal_class.modifiers: @Override public
focal_class.parameters: (String agentId, String directory)
focal_class.return: HeapDumpFileInfo
focal_class.signature: HeapDumpFileInfo heapDump(String agentId, String directory)
focal_class.class_method_signature: LiveJvmServiceImpl.heapHistogram(String agentId)
focal_class.full_signature: @Override public HeapHistogram heapHistogram(String agentId)
focal_class.identifier: heapHistogram
focal_class.modifiers: @Override public
focal_class.parameters: (String agentId)
focal_class.return: HeapHistogram
focal_class.signature: HeapHistogram heapHistogram(String agentId)
focal_class.class_method_signature: LiveJvmServiceImpl.isExplicitGcDisabled(String agentId)
focal_class.full_signature: @Override public boolean isExplicitGcDisabled(String agentId)
focal_class.identifier: isExplicitGcDisabled
focal_class.modifiers: @Override public
focal_class.parameters: (String agentId)
focal_class.return: boolean
focal_class.signature: boolean isExplicitGcDisabled(String agentId)
focal_class.class_method_signature: LiveJvmServiceImpl.forceGC(String agentId)
focal_class.full_signature: @Override public void forceGC(String agentId)
focal_class.identifier: forceGC
focal_class.modifiers: @Override public
focal_class.parameters: (String agentId)
focal_class.return: void
focal_class.signature: void forceGC(String agentId)
focal_class.class_method_signature: LiveJvmServiceImpl.getMBeanDump(String agentId, MBeanDumpKind mbeanDumpKind,
              List<String> objectNames)
focal_class.full_signature: @Override public MBeanDump getMBeanDump(String agentId, MBeanDumpKind mbeanDumpKind,
              List<String> objectNames)
focal_class.identifier: getMBeanDump
focal_class.modifiers: @Override public
focal_class.parameters: (String agentId, MBeanDumpKind mbeanDumpKind,
              List<String> objectNames)
focal_class.return: MBeanDump
focal_class.signature: MBeanDump getMBeanDump(String agentId, MBeanDumpKind mbeanDumpKind,
              List<String> objectNames)
focal_class.class_method_signature: LiveJvmServiceImpl.heapDump(File directory)
focal_class.full_signature: private File heapDump(File directory)
focal_class.identifier: heapDump
focal_class.modifiers: private
focal_class.parameters: (File directory)
focal_class.return: File
focal_class.signature: File heapDump(File directory)
focal_class.class_method_signature: LiveJvmServiceImpl.getAllMBeanInfos(List<String> includeAttrsForObjectNames)
focal_class.full_signature: private List<MBeanDump.MBeanInfo> getAllMBeanInfos(List<String> includeAttrsForObjectNames)
focal_class.identifier: getAllMBeanInfos
focal_class.modifiers: private
focal_class.parameters: (List<String> includeAttrsForObjectNames)
focal_class.return: List<MBeanDump.MBeanInfo>
focal_class.signature: List<MBeanDump.MBeanInfo> getAllMBeanInfos(List<String> includeAttrsForObjectNames)
focal_class.class_method_signature: LiveJvmServiceImpl.getSomeMBeanInfos(List<String> includeObjectNames)
focal_class.full_signature: private List<MBeanDump.MBeanInfo> getSomeMBeanInfos(List<String> includeObjectNames)
focal_class.identifier: getSomeMBeanInfos
focal_class.modifiers: private
focal_class.parameters: (List<String> includeObjectNames)
focal_class.return: List<MBeanDump.MBeanInfo>
focal_class.signature: List<MBeanDump.MBeanInfo> getSomeMBeanInfos(List<String> includeObjectNames)
focal_class.class_method_signature: LiveJvmServiceImpl.getMatchingMBeanObjectNames(String agentId, String partialObjectName,
              int limit)
focal_class.full_signature: @Override public List<String> getMatchingMBeanObjectNames(String agentId, String partialObjectName,
              int limit)
focal_class.identifier: getMatchingMBeanObjectNames
focal_class.modifiers: @Override public
focal_class.parameters: (String agentId, String partialObjectName,
              int limit)
focal_class.return: List<String>
focal_class.signature: List<String> getMatchingMBeanObjectNames(String agentId, String partialObjectName,
              int limit)
focal_class.class_method_signature: LiveJvmServiceImpl.getMBeanMeta(String agentId, String mbeanObjectName)
focal_class.full_signature: @Override public MBeanMeta getMBeanMeta(String agentId, String mbeanObjectName)
focal_class.identifier: getMBeanMeta
focal_class.modifiers: @Override public
focal_class.parameters: (String agentId, String mbeanObjectName)
focal_class.return: MBeanMeta
focal_class.signature: MBeanMeta getMBeanMeta(String agentId, String mbeanObjectName)
focal_class.class_method_signature: LiveJvmServiceImpl.getSystemProperties(String agentId)
focal_class.full_signature: @Override public Map<String, String> getSystemProperties(String agentId)
focal_class.identifier: getSystemProperties
focal_class.modifiers: @Override public
focal_class.parameters: (String agentId)
focal_class.return: Map<String, String>
focal_class.signature: Map<String, String> getSystemProperties(String agentId)
focal_class.class_method_signature: LiveJvmServiceImpl.getCurrentTime(String agentId)
focal_class.full_signature: @Override public long getCurrentTime(String agentId)
focal_class.identifier: getCurrentTime
focal_class.modifiers: @Override public
focal_class.parameters: (String agentId)
focal_class.return: long
focal_class.signature: long getCurrentTime(String agentId)
focal_class.class_method_signature: LiveJvmServiceImpl.getCapabilities(String agentId)
focal_class.full_signature: @Override public Capabilities getCapabilities(String agentId)
focal_class.identifier: getCapabilities
focal_class.modifiers: @Override public
focal_class.parameters: (String agentId)
focal_class.return: Capabilities
focal_class.signature: Capabilities getCapabilities(String agentId)
focal_class.class_method_signature: LiveJvmServiceImpl.getMBeanAttributes(ObjectName objectName)
focal_class.full_signature: private List<MBeanDump.MBeanAttribute> getMBeanAttributes(ObjectName objectName)
focal_class.identifier: getMBeanAttributes
focal_class.modifiers: private
focal_class.parameters: (ObjectName objectName)
focal_class.return: List<MBeanDump.MBeanAttribute>
focal_class.signature: List<MBeanDump.MBeanAttribute> getMBeanAttributes(ObjectName objectName)
focal_class.class_method_signature: LiveJvmServiceImpl.getProcessId()
focal_class.full_signature: public static @Nullable Long getProcessId()
focal_class.identifier: getProcessId
focal_class.modifiers: public static @Nullable
focal_class.parameters: ()
focal_class.return: Long
focal_class.signature: Long getProcessId()
focal_class.class_method_signature: LiveJvmServiceImpl.parseProcessId(String runtimeName)
focal_class.full_signature: @VisibleForTesting static @Nullable Long parseProcessId(String runtimeName)
focal_class.identifier: parseProcessId
focal_class.modifiers: @VisibleForTesting static @Nullable
focal_class.parameters: (String runtimeName)
focal_class.return: Long
focal_class.signature: Long parseProcessId(String runtimeName)
focal_class.class_method_signature: LiveJvmServiceImpl.allowAttachSelf()
focal_class.full_signature: private static boolean allowAttachSelf()
focal_class.identifier: allowAttachSelf
focal_class.modifiers: private static
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean allowAttachSelf()
focal_class.class_method_signature: LiveJvmServiceImpl.j9HeapDump(File directory)
focal_class.full_signature: private static File j9HeapDump(File directory)
focal_class.identifier: j9HeapDump
focal_class.modifiers: private static
focal_class.parameters: (File directory)
focal_class.return: File
focal_class.signature: File j9HeapDump(File directory)
focal_class.class_method_signature: LiveJvmServiceImpl.generateHeapDumpFileName(File dir, String extension)
focal_class.full_signature: private static File generateHeapDumpFileName(File dir, String extension)
focal_class.identifier: generateHeapDumpFileName
focal_class.modifiers: private static
focal_class.parameters: (File dir, String extension)
focal_class.return: File
focal_class.signature: File generateHeapDumpFileName(File dir, String extension)
focal_class.class_method_signature: LiveJvmServiceImpl.getMBeanAttributeValue(@Nullable Object value)
focal_class.full_signature: private static MBeanDump.MBeanValue getMBeanAttributeValue(@Nullable Object value)
focal_class.identifier: getMBeanAttributeValue
focal_class.modifiers: private static
focal_class.parameters: (@Nullable Object value)
focal_class.return: MBeanDump.MBeanValue
focal_class.signature: MBeanDump.MBeanValue getMBeanAttributeValue(@Nullable Object value)
focal_class.class_method_signature: LiveJvmServiceImpl.getCompositeDataValue(CompositeData compositeData)
focal_class.full_signature: private static MBeanDump.MBeanValue getCompositeDataValue(CompositeData compositeData)
focal_class.identifier: getCompositeDataValue
focal_class.modifiers: private static
focal_class.parameters: (CompositeData compositeData)
focal_class.return: MBeanDump.MBeanValue
focal_class.signature: MBeanDump.MBeanValue getCompositeDataValue(CompositeData compositeData)
focal_class.class_method_signature: LiveJvmServiceImpl.getTabularDataValue(TabularData tabularData)
focal_class.full_signature: private static MBeanDump.MBeanValue getTabularDataValue(TabularData tabularData)
focal_class.identifier: getTabularDataValue
focal_class.modifiers: private static
focal_class.parameters: (TabularData tabularData)
focal_class.return: MBeanDump.MBeanValue
focal_class.signature: MBeanDump.MBeanValue getTabularDataValue(TabularData tabularData)
focal_class.class_method_signature: LiveJvmServiceImpl.getArrayValue(Object value)
focal_class.full_signature: private static MBeanDump.MBeanValue getArrayValue(Object value)
focal_class.identifier: getArrayValue
focal_class.modifiers: private static
focal_class.parameters: (Object value)
focal_class.return: MBeanDump.MBeanValue
focal_class.signature: MBeanDump.MBeanValue getArrayValue(Object value)
focal_class.class_method_signature: LiveJvmServiceImpl.getObjectNames(String mbeanObjectName)
focal_class.full_signature: private Set<ObjectName> getObjectNames(String mbeanObjectName)
focal_class.identifier: getObjectNames
focal_class.modifiers: private
focal_class.parameters: (String mbeanObjectName)
focal_class.return: Set<ObjectName>
focal_class.signature: Set<ObjectName> getObjectNames(String mbeanObjectName)
focal_class.class_method_signature: LiveJvmServiceImpl.getAttributeNames(Set<ObjectName> objectNames)
focal_class.full_signature: private Set<String> getAttributeNames(Set<ObjectName> objectNames)
focal_class.identifier: getAttributeNames
focal_class.modifiers: private
focal_class.parameters: (Set<ObjectName> objectNames)
focal_class.return: Set<String>
focal_class.signature: Set<String> getAttributeNames(Set<ObjectName> objectNames)
focal_class.class_method_signature: LiveJvmServiceImpl.getAttributeNames(MBeanInfo mbeanInfo, ObjectName objectName)
focal_class.full_signature: private Set<String> getAttributeNames(MBeanInfo mbeanInfo, ObjectName objectName)
focal_class.identifier: getAttributeNames
focal_class.modifiers: private
focal_class.parameters: (MBeanInfo mbeanInfo, ObjectName objectName)
focal_class.return: Set<String>
focal_class.signature: Set<String> getAttributeNames(MBeanInfo mbeanInfo, ObjectName objectName)
focal_class.class_method_signature: LiveJvmServiceImpl.addNumericAttributes(MBeanAttributeInfo attribute, Object value,
              Set<String> attributeNames)
focal_class.full_signature: private static void addNumericAttributes(MBeanAttributeInfo attribute, Object value,
              Set<String> attributeNames)
focal_class.identifier: addNumericAttributes
focal_class.modifiers: private static
focal_class.parameters: (MBeanAttributeInfo attribute, Object value,
              Set<String> attributeNames)
focal_class.return: void
focal_class.signature: void addNumericAttributes(MBeanAttributeInfo attribute, Object value,
              Set<String> attributeNames)
focal_class.class_method_signature: LiveJvmServiceImpl.getCompositeTypeAttributeNames(MBeanAttributeInfo attribute,
              Object compositeData, CompositeType compositeType)
focal_class.full_signature: private static List<String> getCompositeTypeAttributeNames(MBeanAttributeInfo attribute,
              Object compositeData, CompositeType compositeType)
focal_class.identifier: getCompositeTypeAttributeNames
focal_class.modifiers: private static
focal_class.parameters: (MBeanAttributeInfo attribute,
              Object compositeData, CompositeType compositeType)
focal_class.return: List<String>
focal_class.signature: List<String> getCompositeTypeAttributeNames(MBeanAttributeInfo attribute,
              Object compositeData, CompositeType compositeType)
focal_class.class_method_signature: LiveJvmServiceImpl.getThreadCpuTimeAvailability()
focal_class.full_signature: private static Availability getThreadCpuTimeAvailability()
focal_class.identifier: getThreadCpuTimeAvailability
focal_class.modifiers: private static
focal_class.parameters: ()
focal_class.return: Availability
focal_class.signature: Availability getThreadCpuTimeAvailability()
focal_class.class_method_signature: LiveJvmServiceImpl.getThreadContentionAvailability()
focal_class.full_signature: private static Availability getThreadContentionAvailability()
focal_class.identifier: getThreadContentionAvailability
focal_class.modifiers: private static
focal_class.parameters: ()
focal_class.return: Availability
focal_class.signature: Availability getThreadContentionAvailability()
focal_method.body: @VisibleForTesting
      static @Nullable Long parseProcessId(String runtimeName) {
          int index = runtimeName.indexOf('@');
          if (index > 0) {
              String pid = runtimeName.substring(0, index);
              try {
                  return Long.parseLong(pid);
              } catch (NumberFormatException e) {
                  logger.debug(e.getMessage(), e);
                  return null;
              }
          } else {
              return null;
          }
      }
focal_method.class_method_signature: LiveJvmServiceImpl.parseProcessId(String runtimeName)
focal_method.full_signature: @VisibleForTesting static @Nullable Long parseProcessId(String runtimeName)
focal_method.identifier: parseProcessId
focal_method.invocations: indexOf substring parseLong debug getMessage
focal_method.modifiers: @VisibleForTesting static @Nullable
focal_method.parameters: (String runtimeName)
focal_method.return: Long
focal_method.signature: Long parseProcessId(String runtimeName)