File tree 1 file changed +18
-1
lines changed 1 file changed +18
-1
lines changed Original file line number Diff line number Diff line change @@ -115,7 +115,12 @@ func NegotiateIncludingOpenMetrics(h http.Header) Format {
115
115
// for FmtOpenMetrics, but a future (breaking) release will add the Close method
116
116
// to the Encoder interface directly. The current version of the Encoder
117
117
// interface is kept for backwards compatibility.
118
- func NewEncoder (w io.Writer , format Format ) Encoder {
118
+ func NewEncoder (w io.Writer , format Format , options ... ToOpenMetricsOption ) Encoder {
119
+ toOM := toOpenMetrics {}
120
+ for _ , opt := range options {
121
+ opt (& toOM )
122
+ }
123
+
119
124
switch format {
120
125
case FmtProtoDelim :
121
126
return encoderCloser {
@@ -150,6 +155,18 @@ func NewEncoder(w io.Writer, format Format) Encoder {
150
155
close : func () error { return nil },
151
156
}
152
157
case FmtOpenMetrics_0_0_1 , FmtOpenMetrics_1_0_0 :
158
+ if toOM .withCreatedLines {
159
+ return encoderCloser {
160
+ encode : func (v * dto.MetricFamily ) error {
161
+ _ , err := MetricFamilyToOpenMetrics (w , v , WithCreatedLines ())
162
+ return err
163
+ },
164
+ close : func () error {
165
+ _ , err := FinalizeOpenMetrics (w )
166
+ return err
167
+ },
168
+ }
169
+ }
153
170
return encoderCloser {
154
171
encode : func (v * dto.MetricFamily ) error {
155
172
_ , err := MetricFamilyToOpenMetrics (w , v )
You can’t perform that action at this time.
0 commit comments