@@ -50,13 +50,73 @@ void gaugeDescriptorKeepsLiteralName() {
5050 }
5151
5252 @ Test
53- void genericFactoryUsesTypedBuilderSemantics () {
53+ void histogramDescriptorKeepsLiteralName () {
54+ MetricFamilyDescriptor descriptor =
55+ MetricFamilyDescriptor .histogram ("request_duration_seconds" )
56+ .help ("Request duration" )
57+ .labelName ("method" )
58+ .build ();
59+
60+ assertThat (descriptor .getType ()).isEqualTo (MetricType .HISTOGRAM );
61+ assertThat (descriptor .getPrometheusName ()).isEqualTo ("request_duration_seconds" );
62+ assertThat (descriptor .getLabelNames ()).containsExactly ("method" );
63+ }
64+
65+ @ Test
66+ void summaryDescriptorKeepsLiteralName () {
67+ MetricFamilyDescriptor descriptor =
68+ MetricFamilyDescriptor .summary ("request_size_bytes" )
69+ .help ("Request size" )
70+ .labelName ("method" )
71+ .build ();
72+
73+ assertThat (descriptor .getType ()).isEqualTo (MetricType .SUMMARY );
74+ assertThat (descriptor .getPrometheusName ()).isEqualTo ("request_size_bytes" );
75+ assertThat (descriptor .getLabelNames ()).containsExactly ("method" );
76+ }
77+
78+ @ Test
79+ void stateSetDescriptorKeepsLiteralName () {
80+ MetricFamilyDescriptor descriptor =
81+ MetricFamilyDescriptor .stateSet ("feature_flags" ).help ("Flags" ).labelName ("service" ).build ();
82+
83+ assertThat (descriptor .getType ()).isEqualTo (MetricType .STATESET );
84+ assertThat (descriptor .getPrometheusName ()).isEqualTo ("feature_flags" );
85+ assertThat (descriptor .getLabelNames ()).containsExactly ("service" );
86+ }
87+
88+ @ Test
89+ void unknownDescriptorKeepsLiteralName () {
90+ MetricFamilyDescriptor descriptor =
91+ MetricFamilyDescriptor .unknown ("vendor_metric" ).help ("Vendor metric" ).build ();
92+
93+ assertThat (descriptor .getType ()).isEqualTo (MetricType .UNKNOWN );
94+ assertThat (descriptor .getPrometheusName ()).isEqualTo ("vendor_metric" );
95+ }
96+
97+ @ Test
98+ void genericFactoryUsesTypedBuilderSemanticsForAllKinds () {
5499 MetricFamilyDescriptor counter =
55100 MetricFamilyDescriptor .of (MetricType .COUNTER , "http_requests_total" ).build ();
101+ MetricFamilyDescriptor gauge =
102+ MetricFamilyDescriptor .of (MetricType .GAUGE , "queue_depth" ).build ();
103+ MetricFamilyDescriptor histogram =
104+ MetricFamilyDescriptor .of (MetricType .HISTOGRAM , "request_duration_seconds" ).build ();
105+ MetricFamilyDescriptor summary =
106+ MetricFamilyDescriptor .of (MetricType .SUMMARY , "request_size_bytes" ).build ();
56107 MetricFamilyDescriptor info = MetricFamilyDescriptor .of (MetricType .INFO , "build_info" ).build ();
108+ MetricFamilyDescriptor stateSet =
109+ MetricFamilyDescriptor .of (MetricType .STATESET , "feature_flags" ).build ();
110+ MetricFamilyDescriptor unknown =
111+ MetricFamilyDescriptor .of (MetricType .UNKNOWN , "vendor_metric" ).build ();
57112
58113 assertThat (counter .getPrometheusName ()).isEqualTo ("http_requests" );
114+ assertThat (gauge .getPrometheusName ()).isEqualTo ("queue_depth" );
115+ assertThat (histogram .getPrometheusName ()).isEqualTo ("request_duration_seconds" );
116+ assertThat (summary .getPrometheusName ()).isEqualTo ("request_size_bytes" );
59117 assertThat (info .getPrometheusName ()).isEqualTo ("build" );
118+ assertThat (stateSet .getPrometheusName ()).isEqualTo ("feature_flags" );
119+ assertThat (unknown .getPrometheusName ()).isEqualTo ("vendor_metric" );
60120 }
61121
62122 @ Test
0 commit comments