Administration
Guide to Sensei administration information and metrics.
A: System metrics
CPU and OS information
- Operating System Infomation ( AvailableProcessors, Arch (amd64),etc )
(ObjectName:java.lang:type=OperatingSystem) (InterfaceClassName:com.sun.management.UnixOperatingSystemMXBean)
RAM used/free
- FreePhysicalMemorySize, TotalPhysicalMemorySize, CommittedVirtualMemorySize;
- FreeSwapSpaceSize, TotalSwapSpaceSize;
(ObjectName:java.lang:type=OperatingSystem) (InterfaceClassName:com.sun.management.UnixOperatingSystemMXBean)
System load
- SystemLoadAverage;
- OpenFileDescriptorCount, MaxFileDescriptorCount;
(ObjectName:java.lang:type=OperatingSystem) (InterfaceClassName:com.sun.management.UnixOperatingSystemMXBean)
Disk reads/writes (N/A)
Network interface traffic (N/A)
JVM memory usage
- NonHeapMemoryUsage(max, committed, init, used, etc.);
- HeapMemoryUsage (max, committed, init, used, etc.);
(ObjectName:java.lang:type=Memory) (InterfaceClassName:java.lang.management.MemoryMXBean)
- Perm Gen info; (PeakUsage, Usage, CollectionUsage );
(ObjectName:java.lang:type=MemoryPool,name=PS Perm Gen) (InterfaceClassName:java.lang.management.MemoryPoolMXBean)
- Old Gen info;(PeakUsage, Usage, CollectionUsage );
(ObjectName:java.lang:type=MemoryPool,name=PS Old Gen) (InterfaceClassName:java.lang.management.MemoryPoolMXBean)
- Survivor Space;(PeakUsage, Usage, CollectionUsage );
(ObjectName:java.lang:type=MemoryPool,name=PS Survivor Space) (InterfaceClassName:java.lang.management.MemoryPoolMXBean)
- Eden Space; (PeakUsage, Usage, CollectionUsage );
(ObjectName:java.lang:type=MemoryPool,name=PS Eden Space) (InterfaceClassName:java.lang.management.MemoryPoolMXBean)
- Code Cache; (PeakUsage, Usage, CollectionUsage );
(ObjectName:java.lang:type=MemoryPool,name=Code Cache) (InterfaceClassName:java.lang.management.MemoryPoolMXBean)
JVM garbage collection times and counts
- LastGcInfo: StartTime, memoryUsageBeforeGc, memoryUsageAfterGc, etc. (PS Survivor Space, PS Eden Space, Code Cache, PS Old Gen, PS Perm Gen );
(ObjectName:java.lang:type=GarbageCollector,name=PS MarkSweep) (InterfaceClassName:com.sun.management.GarbageCollectorMXBean) (ObjectName:java.lang:type=GarbageCollector,name=PS Scavenge) (InterfaceClassName:com.sun.management.GarbageCollectorMXBean)
JVM threads/classes
- LoadedClassCount;
(ObjectName:java.lang:type=ClassLoading) (InterfaceClassName:java.lang.management.ClassLoadingMXBean)
- PeakThreadCount; CurrentThreadCpuTime; DaemonThreadCount; TotalStartedThreadCount; etc.;
(ObjectName:java.lang:type=Threading) (InterfaceClassName:com.sun.management.ThreadMXBean)
Sensei-specific metrics
Docs-indexed
- Number of documents that has been indexed;
(ObjectName: com.senseidb:type=meter,scope=indexer,name=docs-indexed) (InterfaceClassName: com.yammer.metrics.reporting.JmxReporter$MeterMBean)
Docs indexing rate
- Document indexing rate;
(com.senseidb:type=meter,scope=indexing-manager,name=indexing-events ) (InterfaceClassName: com.yammer.metrics.reporting.JmxReporter$MeterMBean)
Sensei server info
- Sensei server info, e.g., id, port, is_available, partitions;
(ObjectName: com.senseidb:name=sensei-server-1 ) (InterfaceClassName: com.senseidb.search.node.SenseiServerAdminMBean)
Disk Index Info for partition
- DiskFreeSpaceBytes, DiskIndexSizeBytes, LastOptimizationTime, LastDiskIndexModifiedTime, IndexDir, DiskIndexSegmentCount;
(ObjectName: com.senseidb:zoie-name=zoie-admin-1-1 ) (InterfaceClassName: proj.zoie.mbean.ZoieSystemAdminMBean)
- LastIndexingBatchSize, LastIndexingBatchDuration, LastIndexingEndTime;
(ObjectName: com.senseidb:zoie-name=zoie-status-1-1 ) (InterfaceClassName: proj.zoie.mbean.ZoieIndexingStatusAdminMBean)
Request number, OneMinuteRate
- Number of requests received, OneMinuteRate;
(ObjectName: com.senseidb:type=meter,scope=node,name=search-count ) (InterfaceClassName: com.yammer.metrics.reporting.JmxReporter$MeterMBean)
QPS (can be calculated)
Latency in Senseidb broker level
- Total search time;
(ObjectName:com.senseidb:type=timer,scope=broker,name=total-search-time) (InterfaceClassName:com.yammer.metrics.reporting.JmxReporter$TimerMBean)
- Scatter time;
(ObjectName:com.com.senseidb:type=timer,scope=broker,name=scatter-time) (InterfaceClassName:com.yammer.metrics.reporting.JmxReporter$TimerMBean)
- Gather time;
(ObjectName:com.senseidb:type=timer,scope=broker,name=gather-time) (InterfaceClassName:com.yammer.metrics.reporting.JmxReporter$TimerMBean)
Latency in Senseidb node level
- Get reader time;
(ObjectName:com.senseidb:type=timer,scope=node,name=getreader-time) (InterfaceClassName:com.yammer.metrics.reporting.JmxReporter$TimerMBean)
- Merge time;
(ObjectName:com.senseidb:type=timer,scope=node,name=merge-time) (InterfaceClassName:com.yammer.metrics.reporting.JmxReporter$TimerMBean)
- Prune time;
(ObjectName:com.senseidb:type=timer,scope=node,name=prune) (InterfaceClassName:com.yammer.metrics.reporting.JmxReporter$TimerMBean)
- Search time in node;
(ObjectName:com.senseidb:type=timer,scope=node,name=search-time) (InterfaceClassName:com.yammer.metrics.reporting.JmxReporter$TimerMBean)
- Total search time;
(ObjectName:com.senseidb:type=timer,scope=node,name=total-search-time) (InterfaceClassName:com.yammer.metrics.reporting.JmxReporter$TimerMBean)