Skip to content

Commit 349dd83

Browse files
committed
Support indexing pressure on NodeStats (#5148)
* Support indexing pressure on NodeStats Indexing pressure stats were added in 7.9.0 elastic/elasticsearch#59467 They were updated to include memory limit stats in 7.10.0 elastic/elasticsearch#60342
1 parent 32be62b commit 349dd83

File tree

2 files changed

+110
-0
lines changed

2 files changed

+110
-0
lines changed

src/Nest/Cluster/NodesStats/NodeStats.cs

+73
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,9 @@ public class NodeStats
7979

8080
[DataMember(Name = "transport_address")]
8181
public string TransportAddress { get; internal set; }
82+
83+
[DataMember(Name = "indexing_pressure")]
84+
public IndexingPressureStats IndexingPressure { get; internal set; }
8285
}
8386

8487
[DataContract]
@@ -570,4 +573,74 @@ public class HttpStats
570573
[DataMember(Name = "total_opened")]
571574
public long TotalOpened { get; internal set; }
572575
}
576+
577+
[DataContract]
578+
public class IndexingPressureStats
579+
{
580+
[DataMember(Name = "memory")]
581+
public IndexingPressureMemoryStats Memory { get; internal set; }
582+
}
583+
584+
[DataContract]
585+
public class IndexingPressureMemoryStats
586+
{
587+
[DataMember(Name = "current")]
588+
public IndexingLoad Current { get; internal set; }
589+
590+
[DataMember(Name = "total")]
591+
public TotalIndexingLoad Total { get; internal set; }
592+
593+
[DataMember(Name = "limit_in_bytes")]
594+
public long LimitInBytes { get; internal set; }
595+
596+
[DataMember(Name = "limit")]
597+
public string Limit { get; internal set; }
598+
}
599+
600+
[DataContract]
601+
public class IndexingLoad
602+
{
603+
[DataMember(Name = "combined_coordinating_and_primary_in_bytes")]
604+
public long CombinedCoordinatingAndPrimaryInBytes { get; internal set; }
605+
606+
[DataMember(Name = "combined_coordinating_and_primary")]
607+
public string CombinedCoordinatingAndPrimary { get; internal set; }
608+
609+
[DataMember(Name = "coordinating_in_bytes")]
610+
public long CoordinatingInBytes { get; internal set; }
611+
612+
[DataMember(Name = "coordinating")]
613+
public string Coordinating { get; internal set; }
614+
615+
[DataMember(Name = "primary_in_bytes")]
616+
public long PrimaryInBytes { get; internal set; }
617+
618+
[DataMember(Name = "primary")]
619+
public string Primary { get; internal set; }
620+
621+
[DataMember(Name = "replica_in_bytes")]
622+
public long ReplicaInBytes { get; internal set; }
623+
624+
[DataMember(Name = "replica")]
625+
public string Replica { get; internal set; }
626+
627+
[DataMember(Name = "all_in_bytes")]
628+
public long AllInBytes { get; internal set; }
629+
630+
[DataMember(Name = "all")]
631+
public string All { get; internal set; }
632+
}
633+
634+
[DataContract]
635+
public class TotalIndexingLoad : IndexingLoad
636+
{
637+
[DataMember(Name = "coordinating_rejections")]
638+
public int CoordinatingRejections { get; internal set; }
639+
640+
[DataMember(Name = "primary_rejections")]
641+
public int PrimaryRejections { get; internal set; }
642+
643+
[DataMember(Name = "replica_rejections")]
644+
public int ReplicaRejections { get; internal set; }
645+
}
573646
}

tests/Tests/Cluster/NodesStats/NodesStatsApiTests.cs

+37
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,9 @@ protected override void ExpectResponse(NodesStatsResponse response)
7676

7777
if (TestClient.Configuration.InRange(">=7.8.0"))
7878
Assert(node.ScriptCache);
79+
80+
if (TestClient.Configuration.InRange(">=7.9.0"))
81+
Assert(node.IndexingPressure);
7982
}
8083

8184
protected void Assert(NodeIngestStats nodeIngestStats)
@@ -276,5 +279,39 @@ protected void Assert(NodeJvmStats jvm)
276279
//jvm.Threads.Count.Should().BeGreaterThan(0);
277280
//jvm.Threads.PeakCount.Should().BeGreaterThan(0);
278281
}
282+
283+
protected void Assert(IndexingPressureStats indexingPressureStats)
284+
{
285+
if (TestClient.Configuration.InRange(">=7.10.0"))
286+
{
287+
indexingPressureStats.Memory.LimitInBytes.Should().BeGreaterOrEqualTo(0);
288+
//indexingPressureStats.Memory.Limit.Should().NotBeNull();
289+
}
290+
291+
indexingPressureStats.Memory.Current.CombinedCoordinatingAndPrimaryInBytes.Should().BeGreaterOrEqualTo(0);
292+
//indexingPressureStats.Memory.Current.CombinedCoordinatingAndPrimary.Should().NotBeNull();
293+
indexingPressureStats.Memory.Current.CoordinatingInBytes.Should().BeGreaterOrEqualTo(0);
294+
//indexingPressureStats.Memory.Current.Coordinating.Should().NotBeNull();
295+
indexingPressureStats.Memory.Current.PrimaryInBytes.Should().BeGreaterOrEqualTo(0);
296+
//indexingPressureStats.Memory.Current.Primary.Should().NotBeNull();
297+
indexingPressureStats.Memory.Current.ReplicaInBytes.Should().BeGreaterOrEqualTo(0);
298+
//indexingPressureStats.Memory.Current.Replica.Should().NotBeNull();
299+
indexingPressureStats.Memory.Current.AllInBytes.Should().BeGreaterOrEqualTo(0);
300+
//indexingPressureStats.Memory.Current.All.Should().NotBeNull();
301+
302+
indexingPressureStats.Memory.Total.CombinedCoordinatingAndPrimaryInBytes.Should().BeGreaterOrEqualTo(0);
303+
//indexingPressureStats.Memory.Total.CombinedCoordinatingAndPrimary.Should().NotBeNull();
304+
indexingPressureStats.Memory.Total.CoordinatingInBytes.Should().BeGreaterOrEqualTo(0);
305+
//indexingPressureStats.Memory.Total.Coordinating.Should().NotBeNull();
306+
indexingPressureStats.Memory.Total.PrimaryInBytes.Should().BeGreaterOrEqualTo(0);
307+
//indexingPressureStats.Memory.Total.Primary.Should().NotBeNull();
308+
indexingPressureStats.Memory.Total.ReplicaInBytes.Should().BeGreaterOrEqualTo(0);
309+
//indexingPressureStats.Memory.Total.Replica.Should().NotBeNull();
310+
indexingPressureStats.Memory.Total.AllInBytes.Should().BeGreaterOrEqualTo(0);
311+
//indexingPressureStats.Memory.Total.All.Should().NotBeNull();
312+
indexingPressureStats.Memory.Total.CoordinatingRejections.Should().BeGreaterOrEqualTo(0);
313+
indexingPressureStats.Memory.Total.PrimaryRejections.Should().BeGreaterOrEqualTo(0);
314+
indexingPressureStats.Memory.Total.ReplicaRejections.Should().BeGreaterOrEqualTo(0);
315+
}
279316
}
280317
}

0 commit comments

Comments
 (0)