Skip to content

Add pretty names (and other properties) to the cluster stats response. #3766 #3780

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Jun 7, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 47 additions & 18 deletions src/Nest/Cluster/ClusterStats/ClusterNodesStats.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,18 @@ public class ClusterNodesStats
[DataMember(Name ="count")]
public ClusterNodeCount Count { get; internal set; }

[DataMember(Name ="discovery_types")]
public IReadOnlyDictionary<string, int> DiscoveryTypes { get; internal set; }

[DataMember(Name ="fs")]
public ClusterFileSystem FileSystem { get; internal set; }

[DataMember(Name ="jvm")]
public ClusterJvm Jvm { get; internal set; }

[DataMember(Name ="network_types")]
public ClusterNetworkTypes NetworkTypes { get; internal set; }

[DataMember(Name ="os")]
public ClusterOperatingSystemStats OperatingSystem { get; internal set; }

Expand All @@ -29,33 +35,31 @@ public class ClusterNodesStats
}

[DataContract]
public class ClusterFileSystem
public class ClusterNetworkTypes
{
[DataMember(Name ="available")]
public string Available { get; internal set; }
[DataMember(Name ="http_types")]
public IReadOnlyDictionary<string, int> HttpTypes { get; internal set; }

[DataMember(Name ="transport_types")]
public IReadOnlyDictionary<string, int> TransportTypes { get; internal set; }
}

[DataContract]
public class ClusterFileSystem
{
[DataMember(Name ="available_in_bytes")]
public long AvailableInBytes { get; internal set; }

[DataMember(Name ="free")]
public string Free { get; internal set; }

[DataMember(Name ="free_in_bytes")]
public long FreeInBytes { get; internal set; }

[DataMember(Name ="total")]
public string Total { get; internal set; }

[DataMember(Name ="total_in_bytes")]
public long TotalInBytes { get; internal set; }
}

[DataContract]
public class ClusterJvm
{
[DataMember(Name ="max_uptime")]
public string MaxUptime { get; internal set; }

[DataMember(Name ="max_uptime_in_millis")]
public long MaxUptimeInMilliseconds { get; internal set; }

Expand All @@ -72,6 +76,12 @@ public class ClusterJvm
[DataContract]
public class ClusterJvmVersion
{
[DataMember(Name ="bundled_jdk")]
public bool BundledJdk { get; internal set; }

[DataMember(Name ="using_bundled_jdk")]
public bool? UsingBundledJdk { get; internal set; }

[DataMember(Name ="count")]
public int Count { get; internal set; }

Expand All @@ -91,15 +101,9 @@ public class ClusterJvmVersion
[DataContract]
public class ClusterJvmMemory
{
[DataMember(Name ="heap_max")]
public string HeapMax { get; internal set; }

[DataMember(Name ="heap_max_in_bytes")]
public long HeapMaxInBytes { get; internal set; }

[DataMember(Name ="heap_used")]
public string HeapUsed { get; set; }

[DataMember(Name ="heap_used_in_bytes")]
public long HeapUsedInBytes { get; internal set; }
}
Expand Down Expand Up @@ -143,8 +147,33 @@ public class ClusterOperatingSystemStats
[DataMember(Name ="available_processors")]
public int AvailableProcessors { get; internal set; }

[DataMember(Name ="mem")]
public OperatingSystemMemoryInfo Memory { get; internal set; }

[DataMember(Name ="names")]
public IReadOnlyCollection<ClusterOperatingSystemName> Names { get; internal set; }

[DataMember(Name ="pretty_names")]
public IReadOnlyCollection<ClusterOperatingSystemPrettyNane> PrettyNames { get; internal set; }
}

[DataContract]
public class OperatingSystemMemoryInfo
{
[DataMember(Name ="free_in_bytes")]
public long FreeBytes { get; internal set; }

[DataMember(Name ="free_percent")]
public int FreePercent { get; internal set; }

[DataMember(Name ="total_in_bytes")]
public long TotalBytes { get; internal set; }

[DataMember(Name ="used_in_bytes")]
public long UsedBytes { get; internal set; }

[DataMember(Name ="used_percent")]
public int UsedPercent { get; internal set; }
}

[DataContract]
Expand Down
3 changes: 3 additions & 0 deletions src/Nest/Cluster/ClusterStats/ClusterStatsResponse.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ public class ClusterStatsResponse : NodesResponseBase
[DataMember(Name ="cluster_name")]
public string ClusterName { get; internal set; }

[DataMember(Name ="cluster_uuid")]
public string ClusterUUID { get; internal set; }

[DataMember(Name ="indices")]
public ClusterIndicesStats Indices { get; internal set; }

Expand Down
13 changes: 13 additions & 0 deletions src/Nest/Cluster/NodesInfo/NodeInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,9 @@ public class NodeOperatingSystemInfo
[DataMember(Name = "name")]
public string Name { get; internal set; }

[DataMember(Name = "pretty_name")]
public string PrettyName { get; internal set; }

[DataMember(Name = "refresh_interval_in_millis")]
public int RefreshInterval { get; internal set; }

Expand All @@ -90,6 +93,16 @@ public class NodeOperatingSystemInfo
public string Version { get; internal set; }
}

[DataContract]
public class ClusterOperatingSystemPrettyNane
{
[DataMember(Name = "count")]
public int Count { get; internal set; }

[DataMember(Name = "pretty_name")]
public string PrettyName { get; internal set; }
}

[DataContract]
public class NodeInfoOSCPU
{
Expand Down
3 changes: 0 additions & 3 deletions src/Nest/CommonOptions/Stats/CompletionStats.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,6 @@ namespace Nest
[DataContract]
public class CompletionStats
{
[DataMember(Name ="size")]
public string Size { get; set; }

[DataMember(Name ="size_in_bytes")]
public long SizeInBytes { get; set; }
}
Expand Down
3 changes: 0 additions & 3 deletions src/Nest/CommonOptions/Stats/FieldDataStats.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,6 @@ public class FielddataStats
[DataMember(Name ="evictions")]
public long Evictions { get; set; }

[DataMember(Name ="memory_size")]
public string MemorySize { get; set; }

[DataMember(Name ="memory_size_in_bytes")]
public long MemorySizeInBytes { get; set; }
}
Expand Down
18 changes: 11 additions & 7 deletions src/Nest/CommonOptions/Stats/PluginStats.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System.Runtime.Serialization;
using System.Collections.Generic;
using System.Runtime.Serialization;

namespace Nest
{
Expand All @@ -11,17 +12,20 @@ public class PluginStats
[DataMember(Name ="description")]
public string Description { get; set; }

[DataMember(Name ="isolated")]
public bool Isolated { get; set; }
[DataMember(Name ="elasticsearch_version")]
public string ElasticsearchVersion { get; set; }

[DataMember(Name ="jvm")]
public bool Jvm { get; set; }
[DataMember(Name ="extended_plugins")]
public IReadOnlyCollection<string> ExtendedPlugins { get; set; }

[DataMember(Name ="name")]
public string Name { get; set; }

[DataMember(Name ="site")]
public bool Site { get; set; }
[DataMember(Name = "has_native_controller")]
public bool? HasNativeController { get; set; }

[DataMember(Name ="java_version")]
public string JavaVersion { get; set; }

[DataMember(Name ="version")]
public string Version { get; set; }
Expand Down
3 changes: 0 additions & 3 deletions src/Nest/CommonOptions/Stats/QueryCacheStats.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,6 @@ public class QueryCacheStats
[DataMember(Name ="hit_count")]
public long HitCount { get; set; }

[DataMember(Name ="memory_size")]
public string MemorySize { get; set; }

[DataMember(Name ="memory_size_in_bytes")]
public long MemorySizeInBytes { get; set; }

Expand Down
40 changes: 7 additions & 33 deletions src/Nest/CommonOptions/Stats/SegmentsStats.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System.Runtime.Serialization;
using System.Collections.Generic;
using System.Runtime.Serialization;

namespace Nest
{
Expand All @@ -8,70 +9,43 @@ public class SegmentsStats
[DataMember(Name ="count")]
public long Count { get; set; }

[DataMember(Name ="doc_values_memory")]
public string DocValuesMemory { get; set; }

[DataMember(Name ="doc_values_memory_in_bytes")]
public long DocValuesMemoryInBytes { get; set; }

[DataMember(Name ="fixed_bit_set_memory")]
public string FixedBitSetMemory { get; set; }

[DataMember(Name ="fixed_bit_set_memory_in_bytes")]
public long FixedBitSetMemoryInBytes { get; set; }

[DataMember(Name ="index_writer_max_memory")]
public string IndexWriterMaxMemory { get; set; }

[DataMember(Name ="index_writer_max_memory_in_bytes")]
public long IndexWriterMaxMemoryInBytes { get; set; }

[DataMember(Name ="index_writer_memory")]
public string IndexWriterMemory { get; set; }

[DataMember(Name ="index_writer_memory_in_bytes")]
public long IndexWriterMemoryInBytes { get; set; }

[DataMember(Name ="memory")]
public string Memory { get; set; }
[DataMember(Name ="max_unsafe_auto_id_timestamp")]
public long MaximumUnsafeAutoIdTimestamp { get; set; }

[DataMember(Name ="memory_in_bytes")]
public long MemoryInBytes { get; set; }

[DataMember(Name ="norms_memory")]
public string NormsMemory { get; set; }

[DataMember(Name ="norms_memory_in_bytes")]
public long NormsMemoryInBytes { get; set; }

[DataMember(Name ="points_memory")]
public string PointsMemory { get; set; }

[DataMember(Name ="points_memory_in_bytes")]
public long PointsMemoryInBytes { get; set; }

[DataMember(Name ="stored_fields_memory")]
public string StoredFieldsMemory { get; set; }

[DataMember(Name ="stored_fields_memory_in_bytes")]
public long StoredFieldsMemoryInBytes { get; set; }

[DataMember(Name ="terms_memory")]
public string TermsMemory { get; set; }

[DataMember(Name ="terms_memory_in_bytes")]
public long TermsMemoryInBytes { get; set; }

[DataMember(Name ="term_vectors_memory")]
public string TermVectorsMemory { get; set; }

[DataMember(Name ="term_vectors_memory_in_bytes")]
public long TermVectorsMemoryInBytes { get; set; }

[DataMember(Name ="version_map_memory")]
public string VersionMapMemory { get; set; }

[DataMember(Name ="version_map_memory_in_bytes")]
public long VersionMapMemoryInBytes { get; set; }

[DataMember(Name ="file_sizes")]
public IReadOnlyDictionary<string, ShardFileSizeInfo> FileSizes { get; internal set; }
}
}
10 changes: 10 additions & 0 deletions src/Tests/Tests/Cluster/ClusterStats/ClusterStatsApiTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@ protected override LazyResponses ClientUsage() => Calls(
protected override void ExpectResponse(ClusterStatsResponse response)
{
response.ClusterName.Should().NotBeNullOrWhiteSpace();

if (base.Cluster.ClusterConfiguration.Version >= "6.8.0")
response.ClusterUUID.Should().NotBeNullOrWhiteSpace();

response.NodeStatistics.Should().NotBeNull();
response.Status.Should().NotBe(ClusterStatus.Red);
response.Timestamp.Should().BeGreaterThan(0);
Expand Down Expand Up @@ -67,6 +71,12 @@ protected void Assert(ClusterNodesStats nodes)

nodes.OperatingSystem.Names.Should().NotBeEmpty();

if (base.Cluster.ClusterConfiguration.Version >= "6.8.0")
{
nodes.OperatingSystem.Memory.Should().NotBeNull();
nodes.OperatingSystem.PrettyNames.Should().NotBeNull();
}

var plugins = nodes.Plugins;
plugins.Should().NotBeEmpty();

Expand Down