@@ -833,6 +833,8 @@ enum Classification {
833833 SEARCH ,
834834 ENRICH ,
835835 ML ,
836+ WATCHER ,
837+ SEARCHABLE_SNAPSHOTS ,
836838 SYSTEM_BACKGROUND_TASKS ,
837839 UNKNOWN
838840 }
@@ -928,6 +930,27 @@ private static Tuple<List<String>, String> getSummaryOfElasticStackForOneThread(
928930 } else if (stackElement .contains ("io.netty.handler.ssl.SslHandler.flush" )) {
929931 reasons .add ("returning potentially large response" );
930932 potentialClassifications .add (Classification .UNKNOWN );
933+ } else if (stackElement .contains ("org.elasticsearch.compute.operator" )
934+ || stackElement .contains ("org.elasticsearch.compute.lucene" )) {
935+ reasons .add ("executing ES|QL query" );
936+ potentialClassifications .add (Classification .SEARCH );
937+ } else if (stackElement .contains ("org.elasticsearch.blobcache" )
938+ || stackElement .contains ("co.elastic.elasticsearch.stateless" )
939+ || stackElement .contains ("S3RetryingInputStream" )
940+ || stackElement .contains ("S3BlobContainer" )
941+ || stackElement .contains ("searchable_snapshot" )) {
942+ reasons .add ("reading from searchable snapshot / blob cache" );
943+ potentialClassifications .add (Classification .SEARCHABLE_SNAPSHOTS );
944+ } else if (stackElement .contains ("org.elasticsearch.xpack.inference" )) {
945+ reasons .add ("inference" );
946+ potentialClassifications .add (Classification .ML );
947+ } else if (stackElement .contains ("org.elasticsearch.xpack.transform" )) {
948+ reasons .add ("transforms" );
949+ potentialClassifications .add (Classification .ML );
950+ } else if (stackElement .contains ("org.elasticsearch.xpack.watcher" )
951+ || stackElement .contains ("TickerScheduleTriggerEngine" )) {
952+ reasons .add ("watcher" );
953+ potentialClassifications .add (Classification .WATCHER );
931954 } else if (stackElement .contains ("org.elasticsearch.xpack.ml" )) {
932955 reasons .add ("machine learning" );
933956 potentialClassifications .add (Classification .ML );
@@ -937,6 +960,12 @@ private static Tuple<List<String>, String> getSummaryOfElasticStackForOneThread(
937960 } else if (stackElement .contains ("ReadinessService" )) {
938961 reasons .add ("readiness service" );
939962 potentialClassifications .add (Classification .SYSTEM_BACKGROUND_TASKS );
963+ } else if (stackElement .contains ("GlobalCheckpointSyncAction" )
964+ || stackElement .contains ("Translog.sync" )
965+ || stackElement .contains ("Translog.ensureSynced" )
966+ || stackElement .contains ("syncGlobalCheckpoint" )) {
967+ reasons .add ("maintenance -- syncing translog for durability" );
968+ potentialClassifications .add (Classification .SYSTEM_BACKGROUND_TASKS );
940969 } else if (stackElement .contains ("org.apache.lucene.search.TaskExecutor" )) {
941970 reasons .add ("executing search requests" );
942971 potentialClassifications .add (Classification .SEARCH );
0 commit comments