sematext / spm-agent

SPM Agent Framework written in NodeJS
http://sematext.com/spm
Apache License 2.0
9 stars 1 forks source link

SC-6450 add custom tags #5

Closed megastef closed 4 years ago

adnanrahic commented 4 years ago

@megastef I think we may have totally missed the goal with this feature. The point was to tag every process individually with custom names. I can't have more than one env var that has name as the key. This means I can only set one name environment variable per project. But, I have several processes in one project I want to tag with different names. How would I do this with the feature you developed now? Does this mean I would have to load different env vars with dotenv for every childprocess I start? That doesn't seem optimal.

megastef: No. You tell the agent the name of the env var ist shall collect.

otisg commented 4 years ago

Does this mean I would have to load different env vars with dotenv for every childprocess I start?

I'm out of the loop on what exact use case you are aiming for here, but I will say this: tags are not meant for things that have high cardinality and that change frequently.

adnanrahic commented 4 years ago

Agree. They should be set once and that's it.

What I'm aiming for is to set a name for a process with a tag. But, if I have one master process I'll tag it with name:mom and if that master spawns 3 child processes I'll tag them with name:joe, name:mike, name:alex. I configure that once and never touch again. How would I do this with what you have implemented now @megastef ?

otisg commented 4 years ago

But do Node.js moms really have only three sons? Or do they multiple like rabbits? If they are closer to rodents, then that will lead to lots of little bunny tags - high cardinality.

adnanrahic commented 4 years ago

Yeah... I have nothing. :smile:

adnanrahic commented 4 years ago

I don't get it. :thinking: I mean, I don't understand what you are explaining @megastef . I also don't understand what the concrete value here is.

That's not what I thought he wanted. He wanted to have a name for every process so to enable grouping and filtering. If I have 5 processes, I don't want to chase them by pid, I want to give them each a name so I can filter and group them by name. This is rather simple feature, I don't understand why we complicated it so much? Or am I just totally not getting the point of it?

megastef commented 4 years ago

@adnanrahic You are totally not getting the point :) The user gets in our example the CUSTOMER_ID value as tag, therefore he will be to filter in the UI by CUSTOMER_ID values when he configures MONITORING_TAG_FROM_ENV=CUSTOMER_ID for the agent config.

adnanrahic commented 4 years ago

Can you please write a full example in the Agent readme/docs to explain this in detail. If I don't get it, then most likely at least 50% of devs won't get it either. Again, to me, it seems overly complicated for no reason. :disappointed: