Skip to content

Commit 7c6265a

Browse files
Merge pull request #26 from purview-dev/metrics-naming-issue
fix: fixed invalid prefix modes for instruments
2 parents bb32da8 + b1867ec commit 7c6265a

File tree

179 files changed

+9968
-133
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

179 files changed

+9968
-133
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ SOLUTION_FILE = $(ROOT_FOLDER)Purview.Telemetry.SourceGenerator.sln
44
TEST_PROJECT = $(ROOT_FOLDER)Purview.Telemetry.SourceGenerator.sln
55
CONFIGURATION = Release
66

7-
PACK_VERSION = 1.0.3
7+
PACK_VERSION = 1.0.4
88
ARTIFACT_FOLDER = p:/sync-projects/.local-nuget/
99

1010
# Targets

samples/SampleApp/SampleApp.Host/SampleApp.Host.csproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,11 @@
55
<Nullable>enable</Nullable>
66
<ImplicitUsings>enable</ImplicitUsings>
77
<EmitCompilerGeneratedFiles>true</EmitCompilerGeneratedFiles>
8+
<GenerateDocumentationFile>true</GenerateDocumentationFile>
89
</PropertyGroup>
910

1011
<ItemGroup>
11-
<PackageReference Include="Purview.Telemetry.SourceGenerator" Version="1.0.3" />
12+
<PackageReference Include="Purview.Telemetry.SourceGenerator" Version="1.0.4" />
1213
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.5.0" />
1314
</ItemGroup>
1415

Lines changed: 152 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,152 @@
1+
namespace Purview.Telemetry.SourceGenerator.Metrics;
2+
3+
partial class TelemetrySourceGeneratorMetricsTests
4+
{
5+
[Fact]
6+
public async Task Generate_GivenNameWithInterfacePrefix_GeneratesMetricsWithPrefix()
7+
{
8+
// Arrange
9+
var basicMetric = @$"
10+
using Purview.Telemetry.Metrics;
11+
12+
namespace Testing;
13+
14+
[Meter(""testing-meter"", InstrumentPrefix = ""This.Is.A.Prefix"")]
15+
interface ITestMetrics
16+
{{
17+
[AutoCounter]
18+
void AutoCounterMetric();
19+
}}
20+
";
21+
22+
// Act
23+
var generationResult = await GenerateAsync(basicMetric);
24+
25+
// Assert
26+
await TestHelpers.Verify(generationResult);
27+
}
28+
29+
[Fact]
30+
public async Task Generate_GivenNameWithAssemblyPrefix_GeneratesMetricsWithPrefix()
31+
{
32+
// Arrange
33+
var basicMetric = @$"
34+
using Purview.Telemetry.Metrics;
35+
36+
[assembly: MeterGeneration(InstrumentPrefix = ""This.Is.An.Assembly.Prefix"")]
37+
38+
namespace Testing;
39+
40+
[Meter(""testing-meter"")]
41+
interface ITestMetrics
42+
{{
43+
[AutoCounter]
44+
void AutoCounterMetric();
45+
}}
46+
";
47+
48+
// Act
49+
var generationResult = await GenerateAsync(basicMetric);
50+
51+
// Assert
52+
await TestHelpers.Verify(generationResult);
53+
}
54+
55+
[Fact]
56+
public async Task Generate_GivenNameWithAssemblyAndInterfacePrefix_GeneratesMetricsWithPrefix()
57+
{
58+
// Arrange
59+
var basicMetric = @$"
60+
using Purview.Telemetry.Metrics;
61+
62+
[assembly: MeterGeneration(InstrumentPrefix = ""This.Is.An.Assembly.Prefix"")]
63+
64+
namespace Testing;
65+
66+
[Meter(""testing-meter"", InstrumentPrefix = ""This.Is.A.Prefix"")]
67+
interface ITestMetrics
68+
{{
69+
[AutoCounter]
70+
void AutoCounterMetric();
71+
}}
72+
";
73+
74+
// Act
75+
var generationResult = await GenerateAsync(basicMetric);
76+
77+
// Assert
78+
await TestHelpers.Verify(generationResult);
79+
}
80+
81+
[Fact]
82+
public async Task Generate_GivenNameShouldBeLowerCase_GeneratesMetricsWithLowercaseName()
83+
{
84+
// Arrange
85+
var basicMetric = @$"
86+
using Purview.Telemetry.Metrics;
87+
88+
namespace Testing;
89+
90+
[Meter(""testing-meter"")]
91+
interface ITestMetrics
92+
{{
93+
[AutoCounter]
94+
void AutoCounterMetric();
95+
}}
96+
";
97+
98+
// Act
99+
var generationResult = await GenerateAsync(basicMetric);
100+
101+
// Assert
102+
await TestHelpers.Verify(generationResult);
103+
}
104+
105+
[Fact]
106+
public async Task Generate_GivenNameShouldBeDefaultLowerCase_GeneratesMetricsWithLowercaseName()
107+
{
108+
// Arrange
109+
var basicMetric = @$"
110+
using Purview.Telemetry.Metrics;
111+
112+
namespace Testing;
113+
114+
[Meter(""testing-meter"")]
115+
interface ITestMetrics
116+
{{
117+
[AutoCounter]
118+
void AutoCounterMetric();
119+
}}
120+
";
121+
122+
// Act
123+
var generationResult = await GenerateAsync(basicMetric);
124+
125+
// Assert
126+
await TestHelpers.Verify(generationResult);
127+
}
128+
129+
[Fact]
130+
public async Task Generate_GivenNameShouldBeDefinedCase_GeneratesMetricsWithLowercaseName()
131+
{
132+
// Arrange
133+
var basicMetric = @$"
134+
using Purview.Telemetry.Metrics;
135+
136+
namespace Testing;
137+
138+
[Meter(""testing-meter"", LowercaseInstrumentName = false)]
139+
interface ITestMetrics
140+
{{
141+
[AutoCounter]
142+
void AutoCounterMetric();
143+
}}
144+
";
145+
146+
// Act
147+
var generationResult = await GenerateAsync(basicMetric);
148+
149+
// Assert
150+
await TestHelpers.Verify(generationResult);
151+
}
152+
}

src/Purview.Telemetry.SourceGenerator.IntegrationTests/Snapshots/TelemetrySourceGeneratorMetricsTests.Generate_GivenAssemblyEnableDI_GeneratesMetrics.DotNet8_0#Testing.TestMetricsCore.Metric.g.verified.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ System.Diagnostics.Metrics.IMeterFactory meterFactory
7171

7272
#endif
7373

74-
_counterInstrument = _meter.CreateCounter<int>(name: "Counter", unit: null, description: null
74+
_counterInstrument = _meter.CreateCounter<int>(name: "counter", unit: null, description: null
7575
#if !NET7_0
7676
, tags: counterTags
7777
#endif

src/Purview.Telemetry.SourceGenerator.IntegrationTests/Snapshots/TelemetrySourceGeneratorMetricsTests.Generate_GivenBasicAutoCounter_GeneratesMetrics.DotNet8_0#Testing.TestMetricsCore.Metric.g.verified.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ sealed partial class TestMetricsCore : Testing.ITestMetrics
1919
{
2020
System.Diagnostics.Metrics.Meter _meter = default!;
2121

22-
System.Diagnostics.Metrics.Counter<System.Int32>? _autoCounterInstrument = null;
22+
System.Diagnostics.Metrics.Counter<int>? _autoCounterInstrument = null;
2323

2424
public TestMetricsCore(
2525
#if NET8_0_OR_GREATER
@@ -71,7 +71,7 @@ System.Diagnostics.Metrics.IMeterFactory meterFactory
7171

7272
#endif
7373

74-
_autoCounterInstrument = _meter.CreateCounter<System.Int32>(name: "AutoCounter", unit: null, description: null
74+
_autoCounterInstrument = _meter.CreateCounter<int>(name: "autocounter", unit: null, description: null
7575
#if !NET7_0
7676
, tags: autoCounterTags
7777
#endif

src/Purview.Telemetry.SourceGenerator.IntegrationTests/Snapshots/TelemetrySourceGeneratorMetricsTests.Generate_GivenBasicCountersWithAutoIncrement_GeneratesMetrics.DotNet8_0#Testing.TestMetricsCore.Metric.g.verified.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ sealed partial class TestMetricsCore : Testing.ITestMetrics
1919
{
2020
System.Diagnostics.Metrics.Meter _meter = default!;
2121

22-
System.Diagnostics.Metrics.Counter<System.Int32>? _counter1Instrument = null;
23-
System.Diagnostics.Metrics.Counter<System.Int32>? _counter2Instrument = null;
24-
System.Diagnostics.Metrics.Counter<System.Int32>? _counter3Instrument = null;
22+
System.Diagnostics.Metrics.Counter<int>? _counter1Instrument = null;
23+
System.Diagnostics.Metrics.Counter<int>? _counter2Instrument = null;
24+
System.Diagnostics.Metrics.Counter<int>? _counter3Instrument = null;
2525

2626
public TestMetricsCore(
2727
#if NET8_0_OR_GREATER
@@ -73,7 +73,7 @@ System.Diagnostics.Metrics.IMeterFactory meterFactory
7373

7474
#endif
7575

76-
_counter1Instrument = _meter.CreateCounter<System.Int32>(name: "Counter1", unit: null, description: null
76+
_counter1Instrument = _meter.CreateCounter<int>(name: "counter1", unit: null, description: null
7777
#if !NET7_0
7878
, tags: counter1Tags
7979
#endif
@@ -87,7 +87,7 @@ System.Diagnostics.Metrics.IMeterFactory meterFactory
8787

8888
#endif
8989

90-
_counter2Instrument = _meter.CreateCounter<System.Int32>(name: "Counter2", unit: null, description: null
90+
_counter2Instrument = _meter.CreateCounter<int>(name: "counter2", unit: null, description: null
9191
#if !NET7_0
9292
, tags: counter2Tags
9393
#endif
@@ -101,7 +101,7 @@ System.Diagnostics.Metrics.IMeterFactory meterFactory
101101

102102
#endif
103103

104-
_counter3Instrument = _meter.CreateCounter<System.Int32>(name: "Counter3", unit: null, description: null
104+
_counter3Instrument = _meter.CreateCounter<int>(name: "counter3", unit: null, description: null
105105
#if !NET7_0
106106
, tags: counter3Tags
107107
#endif

src/Purview.Telemetry.SourceGenerator.IntegrationTests/Snapshots/TelemetrySourceGeneratorMetricsTests.Generate_GivenBasicCounters_GeneratesMetrics.DotNet8_0#Testing.TestMetricsCore.Metric.g.verified.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ System.Diagnostics.Metrics.IMeterFactory meterFactory
7777

7878
#endif
7979

80-
_counterInstrument = _meter.CreateCounter<int>(name: "Counter", unit: null, description: null
80+
_counterInstrument = _meter.CreateCounter<int>(name: "counter", unit: null, description: null
8181
#if !NET7_0
8282
, tags: counterTags
8383
#endif
@@ -91,7 +91,7 @@ System.Diagnostics.Metrics.IMeterFactory meterFactory
9191

9292
#endif
9393

94-
_counter2Instrument = _meter.CreateCounter<byte>(name: "Counter2", unit: null, description: null
94+
_counter2Instrument = _meter.CreateCounter<byte>(name: "counter2", unit: null, description: null
9595
#if !NET7_0
9696
, tags: counter2Tags
9797
#endif
@@ -105,7 +105,7 @@ System.Diagnostics.Metrics.IMeterFactory meterFactory
105105

106106
#endif
107107

108-
_counter3Instrument = _meter.CreateCounter<long>(name: "Counter3", unit: null, description: null
108+
_counter3Instrument = _meter.CreateCounter<long>(name: "counter3", unit: null, description: null
109109
#if !NET7_0
110110
, tags: counter3Tags
111111
#endif
@@ -119,7 +119,7 @@ System.Diagnostics.Metrics.IMeterFactory meterFactory
119119

120120
#endif
121121

122-
_counter4Instrument = _meter.CreateCounter<short>(name: "Counter4", unit: null, description: null
122+
_counter4Instrument = _meter.CreateCounter<short>(name: "counter4", unit: null, description: null
123123
#if !NET7_0
124124
, tags: counter4Tags
125125
#endif
@@ -133,7 +133,7 @@ System.Diagnostics.Metrics.IMeterFactory meterFactory
133133

134134
#endif
135135

136-
_counter5Instrument = _meter.CreateCounter<double>(name: "Counter5", unit: null, description: null
136+
_counter5Instrument = _meter.CreateCounter<double>(name: "counter5", unit: null, description: null
137137
#if !NET7_0
138138
, tags: counter5Tags
139139
#endif
@@ -147,7 +147,7 @@ System.Diagnostics.Metrics.IMeterFactory meterFactory
147147

148148
#endif
149149

150-
_counter6Instrument = _meter.CreateCounter<float>(name: "Counter6", unit: null, description: null
150+
_counter6Instrument = _meter.CreateCounter<float>(name: "counter6", unit: null, description: null
151151
#if !NET7_0
152152
, tags: counter6Tags
153153
#endif
@@ -161,7 +161,7 @@ System.Diagnostics.Metrics.IMeterFactory meterFactory
161161

162162
#endif
163163

164-
_counter7Instrument = _meter.CreateCounter<decimal>(name: "Counter7", unit: null, description: null
164+
_counter7Instrument = _meter.CreateCounter<decimal>(name: "counter7", unit: null, description: null
165165
#if !NET7_0
166166
, tags: counter7Tags
167167
#endif

src/Purview.Telemetry.SourceGenerator.IntegrationTests/Snapshots/TelemetrySourceGeneratorMetricsTests.Generate_GivenBasicHistogram_GeneratesMetrics.DotNet8_0#Testing.TestMetricsCore.Metric.g.verified.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ System.Diagnostics.Metrics.IMeterFactory meterFactory
7272

7373
#endif
7474

75-
_histogramInstrument = _meter.CreateHistogram<int>(name: "Histogram", unit: null, description: null
75+
_histogramInstrument = _meter.CreateHistogram<int>(name: "histogram", unit: null, description: null
7676
#if !NET7_0
7777
, tags: histogramTags
7878
#endif
@@ -86,7 +86,7 @@ System.Diagnostics.Metrics.IMeterFactory meterFactory
8686

8787
#endif
8888

89-
_histogram1Instrument = _meter.CreateHistogram<int>(name: "Histogram1", unit: null, description: null
89+
_histogram1Instrument = _meter.CreateHistogram<int>(name: "histogram1", unit: null, description: null
9090
#if !NET7_0
9191
, tags: histogram1Tags
9292
#endif

src/Purview.Telemetry.SourceGenerator.IntegrationTests/Snapshots/TelemetrySourceGeneratorMetricsTests.Generate_GivenBasicObservableCounters_GeneratesMetrics.DotNet8_0#Testing.TestMetricsCore.Metric.g.verified.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ public void ObservableCounter(System.Func<int> f, int intParam, bool boolParam)
8989
observableCounterTagList.Add("intparam", intParam);
9090
observableCounterTagList.Add("boolparam", boolParam);
9191

92-
_observableCounterInstrument = _meter.CreateObservableCounter<int>("ObservableCounter", f, unit: null, description: null
92+
_observableCounterInstrument = _meter.CreateObservableCounter<int>("observablecounter", f, unit: null, description: null
9393
#if !NET7_0
9494
, tags: observableCounterTagList
9595
#endif
@@ -101,15 +101,15 @@ public void ObservableCounter2(System.Func<System.Diagnostics.Metrics.Measuremen
101101
{
102102
if (_observableCounter2Instrument != null)
103103
{
104-
throw new System.Exception("ObservableCounter2 has already been initialized.");
104+
throw new System.Exception("observablecounter2 has already been initialized.");
105105
}
106106

107107
System.Diagnostics.TagList observableCounter2TagList = new System.Diagnostics.TagList();
108108

109109
observableCounter2TagList.Add("intparam", intParam);
110110
observableCounter2TagList.Add("boolparam", boolParam);
111111

112-
_observableCounter2Instrument = _meter.CreateObservableCounter<int>("ObservableCounter2", f, unit: null, description: null
112+
_observableCounter2Instrument = _meter.CreateObservableCounter<int>("observablecounter2", f, unit: null, description: null
113113
#if !NET7_0
114114
, tags: observableCounter2TagList
115115
#endif
@@ -129,7 +129,7 @@ public void ObservableCounter3(System.Func<System.Collections.Generic.IEnumerabl
129129
observableCounter3TagList.Add("intparam", intParam);
130130
observableCounter3TagList.Add("boolparam", boolParam);
131131

132-
_observableCounter3Instrument = _meter.CreateObservableCounter<int>("ObservableCounter3", f, unit: null, description: null
132+
_observableCounter3Instrument = _meter.CreateObservableCounter<int>("observablecounter3", f, unit: null, description: null
133133
#if !NET7_0
134134
, tags: observableCounter3TagList
135135
#endif

src/Purview.Telemetry.SourceGenerator.IntegrationTests/Snapshots/TelemetrySourceGeneratorMetricsTests.Generate_GivenBasicObservableGauge_GeneratesMetrics.DotNet8_0#Testing.TestMetricsCore.Metric.g.verified.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ public void ObservableGauge(System.Func<int> f, int intParam, bool boolParam)
8989
observableGaugeTagList.Add("intparam", intParam);
9090
observableGaugeTagList.Add("boolparam", boolParam);
9191

92-
_observableGaugeInstrument = _meter.CreateObservableGauge<int>("ObservableGauge", f, unit: null, description: null
92+
_observableGaugeInstrument = _meter.CreateObservableGauge<int>("observablegauge", f, unit: null, description: null
9393
#if !NET7_0
9494
, tags: observableGaugeTagList
9595
#endif
@@ -101,15 +101,15 @@ public void ObservableGauge2(System.Func<System.Diagnostics.Metrics.Measurement<
101101
{
102102
if (_observableGauge2Instrument != null)
103103
{
104-
throw new System.Exception("ObservableGauge2 has already been initialized.");
104+
throw new System.Exception("observablegauge2 has already been initialized.");
105105
}
106106

107107
System.Diagnostics.TagList observableGauge2TagList = new System.Diagnostics.TagList();
108108

109109
observableGauge2TagList.Add("intparam", intParam);
110110
observableGauge2TagList.Add("boolparam", boolParam);
111111

112-
_observableGauge2Instrument = _meter.CreateObservableGauge<int>("ObservableGauge2", f, unit: null, description: null
112+
_observableGauge2Instrument = _meter.CreateObservableGauge<int>("observablegauge2", f, unit: null, description: null
113113
#if !NET7_0
114114
, tags: observableGauge2TagList
115115
#endif
@@ -129,7 +129,7 @@ public void ObservableGauge3(System.Func<System.Collections.Generic.IEnumerable<
129129
observableGauge3TagList.Add("intparam", intParam);
130130
observableGauge3TagList.Add("boolparam", boolParam);
131131

132-
_observableGauge3Instrument = _meter.CreateObservableGauge<int>("ObservableGauge3", f, unit: null, description: null
132+
_observableGauge3Instrument = _meter.CreateObservableGauge<int>("observablegauge3", f, unit: null, description: null
133133
#if !NET7_0
134134
, tags: observableGauge3TagList
135135
#endif

0 commit comments

Comments
 (0)