micrometer-metrics / micrometer

An application observability facade for the most popular observability tools. Think SLF4J, but for observability.
https://micrometer.io
Apache License 2.0
4.46k stars 984 forks source link

Is the name `spring-metrics` confusing? #14

Closed checketts closed 7 years ago

checketts commented 7 years ago

I foresee two primary modules in this project. The Spring aspect that leverages actuator, etc makes sense being called spring-metrics, however the other aspect is similar to slf4j and really is just a metrics-facade.

I would love to be able to encourage all Java project to leverage the facade benefits, even if they aren't using Spring and I wouldn't want the name to drive them away.

Ideas:

I realize that optional deps can keep the modules flexible, but it does feel like if the 2 concerns are made explicit it could save confusion in the long run.

I favor meterize, and spring-metrics, even though the names aren't parallel.

I don't think this is urgent, just wanted to make sure we had this conversation.

spencergibb commented 7 years ago

We're pretty boring with naming here at spring 😜. The initial targets are spring, spring-boot and spring-cloud. @dussab @philwebb thoughts?

checketts commented 7 years ago

I'm fine with boring naming. I just know there are some folks that have an unreasonable 'allergic' reaction to Spring and would love to be able to shim their metrics in those projects/libraries.

I know that @jkschneider has approached it so far keeping Spring as an optional dep and it would be awesome to make that an official initial target.

I'm prepping a non-spring sample project (similar to the example in the JavaDoc here: https://github.com/prometheus/client_java/blob/master/simpleclient_jetty/src/main/java/io/prometheus/client/jetty/JettyStatisticsCollector.java#L15) So we can demonstrate how it would be leverage in that ecosystem.

jkschneider commented 7 years ago

This is a worthwhile conversation to have. So far spring-related things are constrained to a handful of classes.

Honestly, I'm a bit afraid of this: image

I imagine that the chief developers on Spectator and Prometheus would each suppose that their metrics clients are already sufficiently general to be adopted as a facade over various backends given the right dependencies and such, and they are in many ways.

There is at least one good reason to shop this particular API as an SLF4J-like instrumentation solution: Spring has an interest in having an instrumentation API whose chief aim is to support as diverse of a set of metrics backends as possible.

Even if we were given unrestrained access to contribute additional backends to an existing instrumentation API like Spectator or Promtheus' simpleclient, their heart will always be in supporting Atlas and Prometheus, respectively. It's really the moral or motivational hazard that drove me to think of writing another API (or really just taking the best parts of both).

jkschneider commented 7 years ago

I guess it might be educational to hear more about the origin of opentracing.io. Is there any corollary here? @adriancole

spencergibb commented 7 years ago

I think on of the main benefits of moving metrics out of boot was so other spring projects that don't rely on boot (data, security, etc...) could have a consistent metrics story. When users arrive to boot, it gets auto-configuration, actuator, etc...

jkschneider commented 7 years ago

@philwebb expressed an early reservation about the optional dependency on boot a couple days ago. This should be a subject of our SF meeting in late June. I'll icebox this issue until then.

smaldini commented 7 years ago

I'd be happy for reactor to consume a facade to produce metrics for end-to-end reactive streams too :)

philwebb commented 7 years ago

Some brainstorming:

smaldini commented 7 years ago

Taking on the old school shortening which usually passes the SEO test

jkschneider commented 7 years ago

Random measurement devices:

spencergibb commented 7 years ago

telemetry

smaldini commented 7 years ago

I liked Micrometer and Telemetry, they only suffer their common name on SEO:

Hopefully it will refine quickly :D 👍

checketts commented 7 years ago

I really like telemetry. For seo, make it officially 'telemetry commons'

jkschneider commented 7 years ago

I think we're going to settle on micrometer. Not perfect for SEO, perhaps, but has the advantage of being easy to spell. Excellent suggestion, @philwebb.

Telemetry sounds good, but is also a synonym sometimes used to describe the whole space of application metrics, so might be confusing in that sense.

spencergibb commented 7 years ago

I assume the github org will stay spring-projects? and the groupId org.springframework.*?

jkschneider commented 7 years ago

Nope, will move the github org and group.

jkschneider commented 7 years ago

New github org, name, website, docs, Slack team. Phew... I hope the name micrometer is good enough.

checketts commented 7 years ago

Well done! Now to determine if I pronounce it 'my-crow-meter' or 'my-crom-ehter'

spencergibb commented 7 years ago

The later https://en.wikipedia.org/wiki/Micrometer

not

https://en.wikipedia.org/wiki/Micrometre

jkschneider commented 7 years ago

Wow, that's definitive @spencergibb.

spencergibb commented 7 years ago

Yes, I am a nerd with mad wikipedia skilz

spencergibb commented 7 years ago

Actually, I was just curious what the pronunciation of the measuring instrument actually was.

checketts commented 7 years ago

Rhymes with chronometer since it is a measurer not a unit of measurement. Thanks @spencergibb