Polish "Improve docs on custom metrics"

Closes gh-12324
pull/12342/head
Andy Wilkinson 7 years ago
parent 25ff82f1d7
commit d7499387d8

@ -1749,19 +1749,12 @@ factories with a metric named `rabbitmq`.
[[production-ready-metrics-custom]] [[production-ready-metrics-custom]]
=== Registering custom metrics === Registering custom metrics
To register custom metrics, inject `MeterRegistry` into your component: To register custom metrics, inject `MeterRegistry` into your component, as shown in the
following example:
[source,java,indent=0] [source,java,indent=0]
---- ----
class Dictionary { include::{code-examples}/actuate/metrics/MetricsMeterRegistryInjectionExample.java[tag=component]
private List<String> words = new CopyOnWriteArrayList<>();
public MyComponent(MeterRegistry registry) {
registry.gaugeCollectionSize("dictionary.size", Tags.empty(), words);
}
...
}
---- ----
If you find that you repeatedly instrument a suite of metrics across components or If you find that you repeatedly instrument a suite of metrics across components or

@ -0,0 +1,46 @@
/*
* Copyright 2012-2018 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.boot.docs.actuate.metrics;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
import io.micrometer.core.instrument.MeterRegistry;
import io.micrometer.core.instrument.Tags;
/**
* Example to show injection and use of a {@link MeterRegistry}.
*
* @author Andy Wilkinson
*/
public class MetricsMeterRegistryInjectionExample {
// tag::component[]
class Dictionary {
private final List<String> words = new CopyOnWriteArrayList<>();
Dictionary(MeterRegistry registry) {
registry.gaugeCollectionSize("dictionary.size", Tags.empty(), this.words);
}
// …
}
// end::component[]
}
Loading…
Cancel
Save