public static void recordMetrics(ConjureSourceFile definition) {
Optional.ofNullable(SharedMetricRegistries.tryGetDefault()).ifPresent(metrics -> {
metrics.counter(MetricRegistry.name(TypesDefinition.class, "conjure-imports"))
.inc(definition.types().conjureImports().size());
metrics.counter(MetricRegistry.name(TypesDefinition.class, "imports"))
.inc(definition.types().imports().size());
metrics.counter(MetricRegistry.name(NamedTypesDefinition.class, "services"))
.inc(definition.services().size());
metrics.counter(MetricRegistry.name(NamedTypesDefinition.class, "types"))
.inc(definition.types().definitions().objects().size());
metrics.counter(MetricRegistry.name(NamedTypesDefinition.class, "empty-default-conjure-package"))
.inc(definition.types().definitions().defaultConjurePackage().isPresent() ? 0 : 1);
metrics.counter(MetricRegistry.name(NamedTypesDefinition.class, "errors"))
.inc(definition.types().definitions().errors().size());
});
}
}