Skip to content

Latest commit

 

History

History
63 lines (45 loc) · 1.91 KB

appOptics.adoc

File metadata and controls

63 lines (45 loc) · 1.91 KB

Micrometer AppOptics

AppOptics is a dimensional time-series SaaS with built-in dashboarding.

1. Configuring

The following example configures an AppOptics instance:

AppOpticsConfig appopticsConfig = new AppOpticsConfig() {
    @Override
    public String apiToken() {
        return MY_TOKEN;
    }

    @Override
    @Nullable
    public String get(String k) {
        return null;
    }
};
MeterRegistry registry = new AppOpticsMeterRegistry(appopticsConfig, Clock.SYSTEM);

AppOpticsConfig is an interface with a set of default methods. If, in the implementation of get(String k), rather than returning null, you instead bind it to a property source, you can override the default configuration. For example, Micrometer’s Spring Boot support binds properties that are prefixed with management.metrics.export.appoptics directly to the AppOpticsConfig:

management.metrics.export.appoptics:
    api-token: YOURKEY

    # You will probably want disable AppOptics publishing in a local development profile.
    enabled: true

    # The interval at which metrics are sent to AppOptics. The default is 1 minute.
    step: 1m

2. Graphing

This section serves as a quick start to rendering useful representations in AppOptics for metrics that originate in Micrometer.

2.1. Timers

The AppOptics implementation of Timer produces three fields in AppOptics:

  • count: Rate of number of calls/second.

  • sum: Rate of total time/second.

  • max: A sliding window showing the maximum amount recorded.

AppOptics timer average
Figure 1. Dimensionally aggregable average in AppOptics.

AppOptics performs the sum/count division dimensionally to generate aggregable averages on your behalf.

AppOptics-rendered timer
Figure 2. Timer over a simulated service.