Skip to content
This repository has been archived by the owner on Nov 8, 2022. It is now read-only.

What is source? #652

Closed
pittma opened this issue Jan 5, 2016 · 9 comments
Closed

What is source? #652

pittma opened this issue Jan 5, 2016 · 9 comments

Comments

@pittma
Copy link
Contributor

pittma commented Jan 5, 2016

@jcooklin and I were discussing a metric's Source this morning, and I wanted to open up a dialog on what we think of as the source of a metric.


I see source as either the source of the data, or the atom which we are measuring.

Take the example where we are collecting cpu_wait_time from vCenter on a VM called Foo.

I think in most cases the measurer and the measuree are the same. However, in the example above, the measuree is VM Foo, and the measurer is vCenter. I can see this going either way: Setting source as vCenter, as it is the atom doing the measuring, or setting the source as Foo, as it is the atom we are measuring.

@pittma
Copy link
Contributor Author

pittma commented Jan 5, 2016

Here's a summarization of @jcooklin's and my discussion (quoted is Joel):

Source is more the source of the collection. Or in other words, where the plugin is running.

That, I believe may require a new special label: collector.

Maybe collector is the called-out label, and source, since it is difficult to standardize, should be a user-defined tag.

(I.e., change source to collector and let a plugin author use "source" if and however they want to inside tags.)

@lynxbat
Copy link
Contributor

lynxbat commented Jan 5, 2016

Agreed. Hostname for example could be a Source but is not ALWAYS a Source.

@geauxvirtual
Copy link
Contributor

I've never viewed source as the source of the collection, always as the source as what is being measured. It's not just a collector problem, but also a publisher problem as the definition of what the source field stands needs to be clear for both authors of collector plugins and publisher plugins.

@jcooklin
Copy link
Collaborator

jcooklin commented Jan 5, 2016

The term target might better describe what is being measured.

@lynxbat
Copy link
Contributor

lynxbat commented Jan 5, 2016

source=justin
target=right leg
metric=rotating

@pittma
Copy link
Contributor Author

pittma commented Jan 5, 2016

To complement @lynxbat's latest comment:

@jcooklin drew a nice analogy about this using heart rate. Here it is to the best of my memory's ability:

Say I measure my heart rate on my watch, and then, later, I go to the doctor and he measures it with different instrumentation. On the first measuring, source is joels_watch on the second it's doctors_oximeter.

To which I reply, actually no, the doctor's oximeter has a different namespace than your watch. These represent two discreet metrics, for both of which Joel is the source (or target).

@thomastaylor312
Copy link
Contributor

I agree with @danielscottt and @lynxbat on this. For me it seems the most logical to have the source be where the data is actually coming from (i.e. where the plugin is running). The namespace describes what data sets are being gathered and target would be the node/thing you are measuring.

So, an example from one of my use cases of measuring file server operations:

source = the agent server that can access a file server
namespace = /my/metric/ops_per_second
target = MyFileServer

So this would describe where the data was actually collected at (the source), the type of data being collected (ops_per_second in this case), and the node that was measured (the target). So I think that would be pretty unambiguous to someone who is reading the data.

@pittma
Copy link
Contributor Author

pittma commented Jan 6, 2016

@thomastaylor312 it sounds like you agree with all of us! Your suggestion is the union of Joel's and mine, and I really like it.

+1 from me on both source and target.

@IRCody
Copy link
Contributor

IRCody commented Aug 18, 2016

Since the tag was added in #872, which also removed source I am going to close this issue. If you feel like this issue is still valid please respond, with @IRCody and we can reopen.

@IRCody IRCody closed this as completed Aug 18, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

8 participants