Skip to content

Commit 81c8bf6

Browse files
authored
Merge pull request #352 from prom-client-net/delete-add-legacy-metrics
delete addLegacyMetrics
2 parents 281a54f + 3d378e5 commit 81c8bf6

File tree

8 files changed

+20
-205
lines changed

8 files changed

+20
-205
lines changed
Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
using System;
21
using Prometheus.Client.Collectors.DotNetStats;
32
using Prometheus.Client.Collectors.ProcessStats;
43

@@ -18,19 +17,4 @@ public static ICollectorRegistry UseDefaultCollectors(this ICollectorRegistry re
1817

1918
return registry;
2019
}
21-
22-
[Obsolete("'addLegacyMetrics' will be removed in future versions")]
23-
public static ICollectorRegistry UseDefaultCollectors(this ICollectorRegistry registry, bool addLegacyMetrics)
24-
{
25-
return UseDefaultCollectors(registry, string.Empty, addLegacyMetrics);
26-
}
27-
28-
[Obsolete("'addLegacyMetrics' will be removed in future versions")]
29-
public static ICollectorRegistry UseDefaultCollectors(this ICollectorRegistry registry, string prefixName, bool addLegacyMetrics)
30-
{
31-
registry.UseDotNetStats(prefixName, addLegacyMetrics);
32-
registry.UseProcessStats(prefixName, addLegacyMetrics);
33-
34-
return registry;
35-
}
3620
}

src/Prometheus.Client/Collectors/DotNetStats/CollectorRegistryExtensions.cs

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,4 @@ public static ICollectorRegistry UseDotNetStats(this ICollectorRegistry registry
1616

1717
return registry;
1818
}
19-
20-
[Obsolete("'addLegacyMetrics' will be removed in future versions")]
21-
public static ICollectorRegistry UseDotNetStats(this ICollectorRegistry registry, bool addLegacyMetrics)
22-
{
23-
return UseDotNetStats(registry, string.Empty, addLegacyMetrics);
24-
}
25-
26-
[Obsolete("'addLegacyMetrics' will be removed in future versions")]
27-
public static ICollectorRegistry UseDotNetStats(this ICollectorRegistry registry, string prefixName, bool addLegacyMetrics)
28-
{
29-
registry.Add(new GCCollectionCountCollector(prefixName));
30-
registry.Add(new GCTotalMemoryCollector(prefixName, addLegacyMetrics));
31-
32-
return registry;
33-
}
3419
}

src/Prometheus.Client/Collectors/DotNetStats/GCCollectionCountCollector.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44

55
namespace Prometheus.Client.Collectors.DotNetStats;
66

7+
/// <summary>
8+
/// Collector for GC collection count.
9+
/// </summary>
710
public class GCCollectionCountCollector : ICollector
811
{
912
private const string _help = "GC collection count";
@@ -23,7 +26,7 @@ public GCCollectionCountCollector(string prefixName)
2326
{
2427
_name = prefixName + "dotnet_collection_count_total";
2528
Configuration = new CollectorConfiguration(nameof(GCCollectionCountCollector));
26-
MetricNames = new[] { _name };
29+
MetricNames = [_name];
2730
_genNames = new string[GC.MaxGeneration + 1];
2831
for (var gen = 0; gen <= GC.MaxGeneration; gen++)
2932
_genNames[gen] = gen.ToString();

src/Prometheus.Client/Collectors/DotNetStats/GCTotalMemoryCollector.cs

Lines changed: 4 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,15 @@
22
using System.Collections.Generic;
33
using Prometheus.Client.MetricsWriter;
44

5-
#pragma warning disable CS0618
6-
75
namespace Prometheus.Client.Collectors.DotNetStats;
86

7+
/// <summary>
8+
/// Collector for GC total known allocated memory.
9+
/// </summary>
910
public class GCTotalMemoryCollector : ICollector
1011
{
1112
private const string _help = "Total known allocated memory in bytes";
1213
private readonly string _name;
13-
private readonly string _legacyName;
14-
private readonly bool _addLegacyMetrics;
1514

1615
public CollectorConfiguration Configuration { get; }
1716
public IReadOnlyList<string> MetricNames { get; }
@@ -22,39 +21,17 @@ public GCTotalMemoryCollector()
2221
}
2322

2423
public GCTotalMemoryCollector(string prefixName)
25-
: this(prefixName, false)
2624
{
27-
}
28-
29-
[Obsolete("'addLegacyMetrics' will be removed in future versions")]
30-
public GCTotalMemoryCollector(bool addLegacyMetrics)
31-
: this(string.Empty, addLegacyMetrics)
32-
{
33-
}
34-
35-
[Obsolete("'addLegacyMetrics' will be removed in future versions")]
36-
public GCTotalMemoryCollector(string prefixName, bool addLegacyMetrics)
37-
{
38-
_legacyName = prefixName + "dotnet_totalmemory";
3925
_name = prefixName + "dotnet_total_memory_bytes";
4026

41-
_addLegacyMetrics = addLegacyMetrics;
42-
4327
Configuration = new CollectorConfiguration(nameof(GCTotalMemoryCollector));
44-
MetricNames = _addLegacyMetrics ? new[] { _legacyName, _name } : new[] { _name };
28+
MetricNames = [_name];
4529
}
4630

4731
public void Collect(IMetricsWriter writer)
4832
{
4933
writer.WriteMetricHeader(_name, MetricType.Gauge, _help);
5034
writer.WriteSample(GC.GetTotalMemory(false));
5135
writer.EndMetric();
52-
53-
if (_addLegacyMetrics)
54-
{
55-
writer.WriteMetricHeader(_legacyName, MetricType.Gauge, _help);
56-
writer.WriteSample(GC.GetTotalMemory(false));
57-
writer.EndMetric();
58-
}
5936
}
6037
}
Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
using System;
21
using System.Diagnostics;
32

43
namespace Prometheus.Client.Collectors.ProcessStats;
@@ -16,18 +15,4 @@ public static ICollectorRegistry UseProcessStats(this ICollectorRegistry registr
1615

1716
return registry;
1817
}
19-
20-
[Obsolete("'addLegacyMetrics' will be removed in future versions")]
21-
public static ICollectorRegistry UseProcessStats(this ICollectorRegistry registry, bool addLegacyMetrics)
22-
{
23-
return UseProcessStats(registry, string.Empty, addLegacyMetrics);
24-
}
25-
26-
[Obsolete("'addLegacyMetrics' will be removed in future versions")]
27-
public static ICollectorRegistry UseProcessStats(this ICollectorRegistry registry, string prefixName, bool addLegacyMetrics)
28-
{
29-
registry.Add(new ProcessCollector(Process.GetCurrentProcess(), prefixName, addLegacyMetrics));
30-
31-
return registry;
32-
}
3318
}

src/Prometheus.Client/Collectors/ProcessStats/ProcessCollector.cs

Lines changed: 12 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,10 @@
33
using System.Diagnostics;
44
using Prometheus.Client.MetricsWriter;
55

6-
#pragma warning disable CS0618
7-
86
namespace Prometheus.Client.Collectors.ProcessStats;
97

10-
/// <inheritdoc />
118
/// <summary>
12-
/// Collects metrics on .net without performance counters
9+
/// Collector for .NET runtime metrics without performance counters.
1310
/// </summary>
1411
public class ProcessCollector : ICollector
1512
{
@@ -22,13 +19,10 @@ public class ProcessCollector : ICollector
2219
private const string _startTimeSecondsHelp = "Start time of the process since unix epoch in seconds";
2320

2421
private readonly string _virtualMemoryBytesName;
25-
private readonly string _legacyVirtualMemoryBytesName;
2622
private const string _virtualMemoryBytesHelp = "Process virtual memory size in bytes";
2723
private readonly string _workingSetBytesName;
28-
private readonly string _legacyWorkingSetBytesName;
2924
private const string _workingSetBytesHelp = "Process working set in bytes";
3025
private readonly string _privateMemoryBytesName;
31-
private readonly string _legacyPrivateMemoryBytesName;
3226
private const string _privateMemoryBytesHelp = "Process private memory size in bytes";
3327

3428
private readonly string _numThreadsName;
@@ -38,7 +32,6 @@ public class ProcessCollector : ICollector
3832

3933
private readonly Process _process;
4034
private readonly double _processStartTime;
41-
private readonly bool _addLegacyMetrics;
4235

4336
public CollectorConfiguration Configuration { get; }
4437

@@ -50,52 +43,35 @@ public ProcessCollector(Process process)
5043
}
5144

5245
public ProcessCollector(Process process, string prefixName)
53-
: this(process, prefixName, false)
54-
{
55-
}
56-
57-
[Obsolete("'addLegacyMetrics' will be removed in future versions")]
58-
public ProcessCollector(Process process, bool addLegacyMetricNames)
59-
: this(process, string.Empty, addLegacyMetricNames)
60-
{
61-
}
62-
63-
[Obsolete("'addLegacyMetrics' will be removed in future versions")]
64-
public ProcessCollector(Process process, string prefixName, bool addLegacyMetrics)
6546
{
6647
_processIdName = prefixName + "process_processid";
6748

6849
_cpuSecondsTotalName = prefixName + "process_cpu_seconds_total";
6950
_startTimeSecondsName = prefixName + "process_start_time_seconds";
7051

7152
_virtualMemoryBytesName = prefixName + "process_virtual_memory_bytes";
72-
_legacyVirtualMemoryBytesName = prefixName + "process_virtual_bytes";
7353
_workingSetBytesName = prefixName + "process_working_set_bytes";
74-
_legacyWorkingSetBytesName = prefixName + "process_working_set";
7554
_privateMemoryBytesName = prefixName + "process_private_memory_bytes";
76-
_legacyPrivateMemoryBytesName = prefixName + "process_private_bytes";
7755

7856
_numThreadsName = prefixName + "process_num_threads";
7957
_openHandlesName = prefixName + "process_open_handles";
8058

8159
_process = process;
8260

83-
_addLegacyMetrics = addLegacyMetrics;
84-
8561
Configuration = new CollectorConfiguration(nameof(ProcessCollector));
8662

8763
_processStartTime = ((DateTimeOffset)_process.StartTime.ToUniversalTime()).ToUnixTimeSeconds();
88-
MetricNames = _addLegacyMetrics
89-
? new[]
90-
{
91-
_processIdName, _cpuSecondsTotalName, _startTimeSecondsName, _legacyVirtualMemoryBytesName, _virtualMemoryBytesName, _legacyWorkingSetBytesName,
92-
_workingSetBytesName, _legacyPrivateMemoryBytesName, _privateMemoryBytesName, _numThreadsName, _openHandlesName
93-
}
94-
: new[]
95-
{
96-
_processIdName, _cpuSecondsTotalName, _startTimeSecondsName, _virtualMemoryBytesName, _workingSetBytesName, _privateMemoryBytesName, _numThreadsName,
97-
_openHandlesName
98-
};
64+
MetricNames =
65+
[
66+
_processIdName,
67+
_cpuSecondsTotalName,
68+
_startTimeSecondsName,
69+
_virtualMemoryBytesName,
70+
_workingSetBytesName,
71+
_privateMemoryBytesName,
72+
_numThreadsName,
73+
_openHandlesName
74+
];
9975
}
10076

10177
public void Collect(IMetricsWriter writer)
@@ -114,35 +90,14 @@ public void Collect(IMetricsWriter writer)
11490
writer.WriteSample(_processStartTime);
11591
writer.EndMetric();
11692

117-
if (_addLegacyMetrics)
118-
{
119-
writer.WriteMetricHeader(_legacyVirtualMemoryBytesName, MetricType.Gauge, _virtualMemoryBytesHelp);
120-
writer.WriteSample(_process.VirtualMemorySize64);
121-
writer.EndMetric();
122-
}
123-
12493
writer.WriteMetricHeader(_virtualMemoryBytesName, MetricType.Gauge, _virtualMemoryBytesHelp);
12594
writer.WriteSample(_process.VirtualMemorySize64);
12695
writer.EndMetric();
12796

128-
if (_addLegacyMetrics)
129-
{
130-
writer.WriteMetricHeader(_legacyWorkingSetBytesName, MetricType.Gauge, _workingSetBytesHelp);
131-
writer.WriteSample(_process.WorkingSet64);
132-
writer.EndMetric();
133-
}
134-
13597
writer.WriteMetricHeader(_workingSetBytesName, MetricType.Gauge, _workingSetBytesHelp);
13698
writer.WriteSample(_process.WorkingSet64);
13799
writer.EndMetric();
138100

139-
if (_addLegacyMetrics)
140-
{
141-
writer.WriteMetricHeader(_legacyPrivateMemoryBytesName, MetricType.Gauge, _privateMemoryBytesHelp);
142-
writer.WriteSample(_process.PrivateMemorySize64);
143-
writer.EndMetric();
144-
}
145-
146101
writer.WriteMetricHeader(_privateMemoryBytesName, MetricType.Gauge, _privateMemoryBytesHelp);
147102
writer.WriteSample(_process.PrivateMemorySize64);
148103
writer.EndMetric();

tests/Prometheus.Client.Tests/CollectorTests/GCTotalMemoryCollectorTests.cs

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -21,22 +21,6 @@ public void Check_MetricNames(string prefixName)
2121
Assert.Equal(prefixName + "dotnet_total_memory_bytes", collector.MetricNames.First());
2222
}
2323

24-
[Theory]
25-
[InlineData("")]
26-
[InlineData("123")]
27-
[InlineData("promitor_")]
28-
[InlineData("myprefix_")]
29-
public void Check_MetricNames_WithAddLegacy(string prefixName)
30-
{
31-
var collector = new GCTotalMemoryCollector(prefixName, true);
32-
33-
var legacyMetric = collector.MetricNames[0];
34-
var metric = collector.MetricNames[1];
35-
36-
Assert.Equal(prefixName + "dotnet_totalmemory", legacyMetric);
37-
Assert.Equal(prefixName + "dotnet_total_memory_bytes", metric);
38-
}
39-
4024
[Fact]
4125
public void Check_Collect_NoPrefix()
4226
{
@@ -51,20 +35,6 @@ public void Check_Collect_NoPrefix()
5135
Assert.Contains("# TYPE dotnet_total_memory_bytes gauge", response);
5236
}
5337

54-
[Fact]
55-
public void Check_Collect_NoPrefix_WithAddLegacy()
56-
{
57-
using var stream = new MemoryStream();
58-
var metricWriter = new MetricsTextWriter(stream);
59-
var collector = new GCTotalMemoryCollector(true);
60-
collector.Collect(metricWriter);
61-
metricWriter.FlushAsync();
62-
63-
var response = Encoding.UTF8.GetString(stream.ToArray());
64-
65-
Assert.Contains("# TYPE dotnet_totalmemory gauge", response);
66-
}
67-
6838
[Theory]
6939
[InlineData("")]
7040
[InlineData("123")]

tests/Prometheus.Client.Tests/CollectorTests/ProcessCollectorTests.cs

Lines changed: 0 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -27,27 +27,6 @@ public void Check_MetricNames(string prefixName)
2727
Assert.Contains(prefixName + "process_start_time_seconds", collector.MetricNames);
2828
}
2929

30-
[Theory]
31-
[InlineData("")]
32-
[InlineData("123")]
33-
[InlineData("promitor_")]
34-
[InlineData("myprefix_")]
35-
public void Check_MetricNames_WithAddLegacy(string prefixName)
36-
{
37-
var collector = new ProcessCollector(Process.GetCurrentProcess(), prefixName, true);
38-
39-
Assert.Contains(prefixName + "process_cpu_seconds_total", collector.MetricNames);
40-
Assert.Contains(prefixName + "process_virtual_bytes", collector.MetricNames);
41-
Assert.Contains(prefixName + "process_virtual_memory_bytes", collector.MetricNames);
42-
Assert.Contains(prefixName + "process_working_set", collector.MetricNames);
43-
Assert.Contains(prefixName + "process_working_set_bytes", collector.MetricNames);
44-
Assert.Contains(prefixName + "process_private_bytes", collector.MetricNames);
45-
Assert.Contains(prefixName + "process_private_memory_bytes", collector.MetricNames);
46-
Assert.Contains(prefixName + "process_num_threads", collector.MetricNames);
47-
Assert.Contains(prefixName + "process_processid", collector.MetricNames);
48-
Assert.Contains(prefixName + "process_start_time_seconds", collector.MetricNames);
49-
}
50-
5130
[Fact]
5231
public void Check_Collect_NoPrefix()
5332
{
@@ -68,29 +47,6 @@ public void Check_Collect_NoPrefix()
6847
Assert.Contains("# TYPE process_start_time_seconds gauge", response);
6948
}
7049

71-
[Fact]
72-
public void Check_Collect_NoPrefix_WithAddLegacy()
73-
{
74-
using var stream = new MemoryStream();
75-
var metricWriter = new MetricsTextWriter(stream);
76-
var collector = new ProcessCollector(Process.GetCurrentProcess(), true);
77-
collector.Collect(metricWriter);
78-
metricWriter.FlushAsync();
79-
80-
var response = Encoding.UTF8.GetString(stream.ToArray());
81-
82-
Assert.Contains("# TYPE process_cpu_seconds_total counter", response);
83-
Assert.Contains("# TYPE process_virtual_bytes gauge", response);
84-
Assert.Contains("# TYPE process_virtual_memory_bytes gauge", response);
85-
Assert.Contains("# TYPE process_working_set gauge", response);
86-
Assert.Contains("# TYPE process_working_set_bytes gauge", response);
87-
Assert.Contains("# TYPE process_private_bytes gauge", response);
88-
Assert.Contains("# TYPE process_private_memory_bytes gauge", response);
89-
Assert.Contains("# TYPE process_num_threads gauge", response);
90-
Assert.Contains("# TYPE process_processid gauge", response);
91-
Assert.Contains("# TYPE process_start_time_seconds gauge", response);
92-
}
93-
9450
[Theory]
9551
[InlineData(null)]
9652
[InlineData("")]

0 commit comments

Comments
 (0)