[ 
https://issues.apache.org/jira/browse/HADOOP-15230?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17280172#comment-17280172
 ] 

Hadoop QA commented on HADOOP-15230:
------------------------------------

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime ||  Logfile || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  0m  
0s{color} | {color:blue}{color} | {color:blue} Docker mode activated. {color} |
| {color:red}-1{color} | {color:red} patch {color} | {color:red}  0m 11s{color} 
| {color:red}{color} | {color:red} HADOOP-15230 does not apply to trunk. Rebase 
required? Wrong Branch? See https://wiki.apache.org/hadoop/HowToContribute for 
help. {color} |
\\
\\
|| Subsystem || Report/Notes ||
| JIRA Issue | HADOOP-15230 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12910948/HADOOP-15230.007.patch
 |
| Console output | 
https://ci-hadoop.apache.org/job/PreCommit-HADOOP-Build/153/console |
| versions | git=2.17.1 |
| Powered by | Apache Yetus 0.13.0-SNAPSHOT https://yetus.apache.org |


This message was automatically generated.



> org.apache.hadoop.metrics2.GraphiteSink is not implemented correctly
> --------------------------------------------------------------------
>
>                 Key: HADOOP-15230
>                 URL: https://issues.apache.org/jira/browse/HADOOP-15230
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: metrics
>            Reporter: Howard Yoo
>            Assignee: Howard Yoo
>            Priority: Major
>              Labels: GraphiteSink,, metrics, pull-request-available
>         Attachments: HADOOP-15230.007.patch
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> org.apache.hadoop.metrics2.GraphiteSink's implementation has certain problems 
> that would make it to generate metrics incorrectly.
> The problem lies with line 77 ~ 84 of the GraphiteSink java:
> {code:java}
> for (MetricsTag tag : record.tags()) {
> if (tag.value() != null) {
> metricsPathPrefix.append(".");
> metricsPathPrefix.append(tag.name());
> metricsPathPrefix.append("=");
> metricsPathPrefix.append(tag.value());
> }
> }
> {code}
> It produces point tags having name=value pair in the metrics. However, notice 
> how the tags are added with '.' as its delimiters. Rather than using the '.' 
> character, it should follow the following convention mentioned in the latest 
> graphite doc of using ';' character.
> [http://graphite.readthedocs.io/en/latest/tags.html]
> Also, the value is not properly being escaped, meaning that if the value has 
> a '.' character in it, it will easily confuse Graphite to accept it as a 
> delimiter, rather than the value. A really good prime example is when the 
> value is a hostname or ip address,
> {code:java}
> metrics.example.Hostname=this.is.a.hostname.and.this.is.Metrics 10.0{code}
> In this example, the since the value of the hostname contains '.', it is 
> extremely hard for the receiving end to determine which part is hostname and 
> which part is the rest of the metrics name. A good strategy is to convert any 
> '.' character in the value to be converted to other characters, such as '_'.
> However, the best way would be to follow the latest metrics convention of 
> using ';'
> {code:java}
> metrics.example.and.this.is.Metrics;Hostname=this.is.a.hostname 10.0{code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to