Github user revans2 commented on the issue:

    https://github.com/apache/storm/pull/2203
  
    So to parse these pieces of information back out I would need to do 
something like remove "storm.topology." from the beginning.
    
    Then everything up to the next "." would be the topology-ID because "." is 
not allowed in the name.  I could go even further and parse out the topology 
name too.
    
    Now I am kind of in trouble, because I have two different fields that can 
be anything on both ends of the name.  So my best bet is to look for something 
that looks like `\.(\d+)-` and hope that neither the component name nor the 
metric name happens to have used something that matches that pattern.
    
    My concern here is that most of what we are truly encoding in the name is 
metadata.  All of the examples that graphite and ganglia show use the name as a 
hierarchy to make finding the metric I want simpler, i.e. 
'system.memory.memory_allocated', or perhaps subdividing the metrics by 
application, 'app1.memory.memory_allocated'.  Metadata like the host name, 
port, component, etc, are really supported through tags.  The collectors are 
not attempting to pull out the metadata and then turn it back into tags.  So 
for example lets start with a simple use case. I want to know how many tuples 
component B has emitted.  Currently that would require me to combine N separate 
metrics together, one per port.
    
    storm.topology.MYTOPO-1-1000.B.6700-emitted
    storm.topology.MYTOPO-1-1000.B.6701-emitted
    ...
    storm.topology.MYTOPO-1-1000.B.N-emitted
    
    and then rewrite if I launch my topology again I now have to rewrite all of 
my queries to match.  I personally think everyone would be a lot happier if we 
could find a good way to translate these into tags.
    
    Additionally the built in metrics that mostly @abellina, and me a tiny bit, 
have been working on wants these to be metadata.  Simply because we cannot 
reproduce what is happening on the UI in any other clean way.  I am fine with 
us using the metric name to store some of this metadata (sadly drop-wizard 
gives us no other option), but we really need to parse it out before sending it 
on.  I am not sure how simple that would be, seeing how they already come with 
built in reporters which was a lot of what we wanted them for.  If it is not 
going to be simple to do, then perhaps dropwizard was the wrong choice for a 
metrics library.


---

Reply via email to