[jira] [Updated] (HADOOP-15231) WavefrontSink for Hadoop Metrics2

2018-02-18 Thread Howard Yoo (JIRA)

 [ 
https://issues.apache.org/jira/browse/HADOOP-15231?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard Yoo updated HADOOP-15231:

Attachment: HADOOP-15231.006.patch

> WavefrontSink for Hadoop Metrics2
> -
>
> Key: HADOOP-15231
> URL: https://issues.apache.org/jira/browse/HADOOP-15231
> Project: Hadoop Common
>  Issue Type: New Feature
>  Components: metrics
>Reporter: Howard Yoo
>Priority: Minor
>  Labels: metrics, wavefront
> Attachments: HADOOP-15231.006.patch
>
>
> Wavefront is a SaaS based large scale real time metrics monitoring and 
> analytic system capable of monitoring many different source systems. There 
> are several Sinks available in Hadoop in order to capture various metrics to 
> external system. The Wavefront data format follows a similar format as that 
> of Graphite, with the addition of native point tag support and source value. 
> The details are outlined here: 
> [https://docs.wavefront.com/wavefront_data_format.html]
> It would be greatly helpful for both Hadoop and Wavefront to have a native 
> integration using  Wavefront Sink to send Hadoop related metrics to Wavefront 
> Server.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org



[jira] [Updated] (HADOOP-15231) WavefrontSink for Hadoop Metrics2

2018-02-18 Thread Howard Yoo (JIRA)

 [ 
https://issues.apache.org/jira/browse/HADOOP-15231?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard Yoo updated HADOOP-15231:

Attachment: (was: HADOOP-15231.005.patch)

> WavefrontSink for Hadoop Metrics2
> -
>
> Key: HADOOP-15231
> URL: https://issues.apache.org/jira/browse/HADOOP-15231
> Project: Hadoop Common
>  Issue Type: New Feature
>  Components: metrics
>Reporter: Howard Yoo
>Priority: Minor
>  Labels: metrics, wavefront
> Attachments: HADOOP-15231.006.patch
>
>
> Wavefront is a SaaS based large scale real time metrics monitoring and 
> analytic system capable of monitoring many different source systems. There 
> are several Sinks available in Hadoop in order to capture various metrics to 
> external system. The Wavefront data format follows a similar format as that 
> of Graphite, with the addition of native point tag support and source value. 
> The details are outlined here: 
> [https://docs.wavefront.com/wavefront_data_format.html]
> It would be greatly helpful for both Hadoop and Wavefront to have a native 
> integration using  Wavefront Sink to send Hadoop related metrics to Wavefront 
> Server.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org



[jira] [Updated] (HADOOP-15231) WavefrontSink for Hadoop Metrics2

2018-02-17 Thread Howard Yoo (JIRA)

 [ 
https://issues.apache.org/jira/browse/HADOOP-15231?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard Yoo updated HADOOP-15231:

Attachment: HADOOP-15231.005.patch

> WavefrontSink for Hadoop Metrics2
> -
>
> Key: HADOOP-15231
> URL: https://issues.apache.org/jira/browse/HADOOP-15231
> Project: Hadoop Common
>  Issue Type: New Feature
>  Components: metrics
>Reporter: Howard Yoo
>Priority: Minor
>  Labels: metrics, wavefront
> Attachments: HADOOP-15231.005.patch
>
>
> Wavefront is a SaaS based large scale real time metrics monitoring and 
> analytic system capable of monitoring many different source systems. There 
> are several Sinks available in Hadoop in order to capture various metrics to 
> external system. The Wavefront data format follows a similar format as that 
> of Graphite, with the addition of native point tag support and source value. 
> The details are outlined here: 
> [https://docs.wavefront.com/wavefront_data_format.html]
> It would be greatly helpful for both Hadoop and Wavefront to have a native 
> integration using  Wavefront Sink to send Hadoop related metrics to Wavefront 
> Server.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org



[jira] [Updated] (HADOOP-15231) WavefrontSink for Hadoop Metrics2

2018-02-17 Thread Howard Yoo (JIRA)

 [ 
https://issues.apache.org/jira/browse/HADOOP-15231?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard Yoo updated HADOOP-15231:

Attachment: (was: HADOOP-15231.004.patch)

> WavefrontSink for Hadoop Metrics2
> -
>
> Key: HADOOP-15231
> URL: https://issues.apache.org/jira/browse/HADOOP-15231
> Project: Hadoop Common
>  Issue Type: New Feature
>  Components: metrics
>Reporter: Howard Yoo
>Priority: Minor
>  Labels: metrics, wavefront
> Attachments: HADOOP-15231.005.patch
>
>
> Wavefront is a SaaS based large scale real time metrics monitoring and 
> analytic system capable of monitoring many different source systems. There 
> are several Sinks available in Hadoop in order to capture various metrics to 
> external system. The Wavefront data format follows a similar format as that 
> of Graphite, with the addition of native point tag support and source value. 
> The details are outlined here: 
> [https://docs.wavefront.com/wavefront_data_format.html]
> It would be greatly helpful for both Hadoop and Wavefront to have a native 
> integration using  Wavefront Sink to send Hadoop related metrics to Wavefront 
> Server.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org



[jira] [Updated] (HADOOP-15231) WavefrontSink for Hadoop Metrics2

2018-02-17 Thread Howard Yoo (JIRA)

 [ 
https://issues.apache.org/jira/browse/HADOOP-15231?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard Yoo updated HADOOP-15231:

Attachment: HADOOP-15231.004.patch

> WavefrontSink for Hadoop Metrics2
> -
>
> Key: HADOOP-15231
> URL: https://issues.apache.org/jira/browse/HADOOP-15231
> Project: Hadoop Common
>  Issue Type: New Feature
>  Components: metrics
>Reporter: Howard Yoo
>Priority: Minor
>  Labels: metrics, wavefront
> Attachments: HADOOP-15231.004.patch
>
>
> Wavefront is a SaaS based large scale real time metrics monitoring and 
> analytic system capable of monitoring many different source systems. There 
> are several Sinks available in Hadoop in order to capture various metrics to 
> external system. The Wavefront data format follows a similar format as that 
> of Graphite, with the addition of native point tag support and source value. 
> The details are outlined here: 
> [https://docs.wavefront.com/wavefront_data_format.html]
> It would be greatly helpful for both Hadoop and Wavefront to have a native 
> integration using  Wavefront Sink to send Hadoop related metrics to Wavefront 
> Server.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org



[jira] [Updated] (HADOOP-15230) org.apache.hadoop.metrics2.GraphiteSink is not implemented correctly

2018-02-16 Thread Howard Yoo (JIRA)

 [ 
https://issues.apache.org/jira/browse/HADOOP-15230?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard Yoo updated HADOOP-15230:

Attachment: (was: HADOOP-15230.006.patch)

> 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
>Priority: Major
>  Labels: GraphiteSink,, metrics
> Attachments: HADOOP-15230.007.patch
>
>
> 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
(v7.6.3#76005)

-
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org



[jira] [Updated] (HADOOP-15230) org.apache.hadoop.metrics2.GraphiteSink is not implemented correctly

2018-02-16 Thread Howard Yoo (JIRA)

 [ 
https://issues.apache.org/jira/browse/HADOOP-15230?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard Yoo updated HADOOP-15230:

Attachment: HADOOP-15230.007.patch

> 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
>Priority: Major
>  Labels: GraphiteSink,, metrics
> Attachments: HADOOP-15230.007.patch
>
>
> 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
(v7.6.3#76005)

-
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org



[jira] [Updated] (HADOOP-15230) org.apache.hadoop.metrics2.GraphiteSink is not implemented correctly

2018-02-15 Thread Howard Yoo (JIRA)

 [ 
https://issues.apache.org/jira/browse/HADOOP-15230?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard Yoo updated HADOOP-15230:

Attachment: HADOOP-15230.006.patch

> 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
>Priority: Major
>  Labels: GraphiteSink,, metrics
> Attachments: HADOOP-15230.006.patch
>
>
> 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
(v7.6.3#76005)

-
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org



[jira] [Updated] (HADOOP-15230) org.apache.hadoop.metrics2.GraphiteSink is not implemented correctly

2018-02-15 Thread Howard Yoo (JIRA)

 [ 
https://issues.apache.org/jira/browse/HADOOP-15230?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard Yoo updated HADOOP-15230:

Attachment: (was: HADOOP-15230.005.patch)

> 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
>Priority: Major
>  Labels: GraphiteSink,, metrics
>
> 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
(v7.6.3#76005)

-
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org



[jira] [Updated] (HADOOP-15230) org.apache.hadoop.metrics2.GraphiteSink is not implemented correctly

2018-02-15 Thread Howard Yoo (JIRA)

 [ 
https://issues.apache.org/jira/browse/HADOOP-15230?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard Yoo updated HADOOP-15230:

Attachment: (was: HADOOP-15230.004.patch)

> 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
>Priority: Major
>  Labels: GraphiteSink,, metrics
> Attachments: HADOOP-15230.005.patch
>
>
> 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
(v7.6.3#76005)

-
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org



[jira] [Updated] (HADOOP-15230) org.apache.hadoop.metrics2.GraphiteSink is not implemented correctly

2018-02-15 Thread Howard Yoo (JIRA)

 [ 
https://issues.apache.org/jira/browse/HADOOP-15230?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard Yoo updated HADOOP-15230:

Attachment: HADOOP-15230.005.patch

> 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
>Priority: Major
>  Labels: GraphiteSink,, metrics
> Attachments: HADOOP-15230.005.patch
>
>
> 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
(v7.6.3#76005)

-
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org



[jira] [Updated] (HADOOP-15230) org.apache.hadoop.metrics2.GraphiteSink is not implemented correctly

2018-02-15 Thread Howard Yoo (JIRA)

 [ 
https://issues.apache.org/jira/browse/HADOOP-15230?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard Yoo updated HADOOP-15230:

Attachment: (was: HADOOP-15230.003.patch)

> 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
>Priority: Major
>  Labels: GraphiteSink,, metrics
> Attachments: HADOOP-15230.004.patch
>
>
> 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
(v7.6.3#76005)

-
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org



[jira] [Updated] (HADOOP-15230) org.apache.hadoop.metrics2.GraphiteSink is not implemented correctly

2018-02-15 Thread Howard Yoo (JIRA)

 [ 
https://issues.apache.org/jira/browse/HADOOP-15230?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard Yoo updated HADOOP-15230:

Attachment: HADOOP-15230.004.patch

> 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
>Priority: Major
>  Labels: GraphiteSink,, metrics
> Attachments: HADOOP-15230.004.patch
>
>
> 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
(v7.6.3#76005)

-
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org



[jira] [Updated] (HADOOP-15230) org.apache.hadoop.metrics2.GraphiteSink is not implemented correctly

2018-02-15 Thread Howard Yoo (JIRA)

 [ 
https://issues.apache.org/jira/browse/HADOOP-15230?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard Yoo updated HADOOP-15230:

Attachment: HADOOP-15230.003.patch

> 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
>Priority: Major
>  Labels: GraphiteSink,, metrics
> Attachments: HADOOP-15230.003.patch
>
>
> 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
(v7.6.3#76005)

-
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org



[jira] [Updated] (HADOOP-15230) org.apache.hadoop.metrics2.GraphiteSink is not implemented correctly

2018-02-15 Thread Howard Yoo (JIRA)

 [ 
https://issues.apache.org/jira/browse/HADOOP-15230?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard Yoo updated HADOOP-15230:

Attachment: (was: HADOOP-15230.003.patch)

> 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
>Priority: Major
>  Labels: GraphiteSink,, metrics
>
> 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
(v7.6.3#76005)

-
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org



[jira] [Updated] (HADOOP-15230) org.apache.hadoop.metrics2.GraphiteSink is not implemented correctly

2018-02-15 Thread Howard Yoo (JIRA)

 [ 
https://issues.apache.org/jira/browse/HADOOP-15230?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard Yoo updated HADOOP-15230:

Attachment: (was: HADOOP-15230.002.patch)

> 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
>Priority: Major
>  Labels: GraphiteSink,, metrics
> Attachments: HADOOP-15230.003.patch
>
>
> 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
(v7.6.3#76005)

-
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org



[jira] [Updated] (HADOOP-15230) org.apache.hadoop.metrics2.GraphiteSink is not implemented correctly

2018-02-15 Thread Howard Yoo (JIRA)

 [ 
https://issues.apache.org/jira/browse/HADOOP-15230?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard Yoo updated HADOOP-15230:

Attachment: HADOOP-15230.003.patch

> 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
>Priority: Major
>  Labels: GraphiteSink,, metrics
> Attachments: HADOOP-15230.003.patch
>
>
> 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
(v7.6.3#76005)

-
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org



[jira] [Comment Edited] (HADOOP-15231) WavefrontSink for Hadoop Metrics2

2018-02-15 Thread Howard Yoo (JIRA)

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

Howard Yoo edited comment on HADOOP-15231 at 2/15/18 5:26 PM:
--

Right, extending and re-using the code is always a good option. However, if you 
take a look at the GraphiteSink, you'd see these issues:
 # Much of its internal variables are defined as 'private' members, making 
anything extending it hard to use those.
 # Log messages have 'graphite' which makes it harder for others to change 
that, unless overwriting pretty much everything.

So, I can extend the class as you suggested, but at the end, I would have to 
overwrite most of the existing methods anyway which will probably make it end 
up in a similar situation. So, generally agree that extending something is 
useful, but I don't see too much values in this case.

Also, I feel that I need to create a unit-tests for this. Will it make it much 
better if I also add unit test for Wavefront format? Makes sense, and seems it 
is something that's required also.


was (Author: howardyoo):
Agreed,

Will change the code to extend the GraphiteSink instead of copying it... Also, 
I believe I need to add unit tests as well - would it be better if I added the 
unit tests?

> WavefrontSink for Hadoop Metrics2
> -
>
> Key: HADOOP-15231
> URL: https://issues.apache.org/jira/browse/HADOOP-15231
> Project: Hadoop Common
>  Issue Type: New Feature
>  Components: metrics
>Reporter: Howard Yoo
>Priority: Minor
>  Labels: metrics, wavefront
>
> Wavefront is a SaaS based large scale real time metrics monitoring and 
> analytic system capable of monitoring many different source systems. There 
> are several Sinks available in Hadoop in order to capture various metrics to 
> external system. The Wavefront data format follows a similar format as that 
> of Graphite, with the addition of native point tag support and source value. 
> The details are outlined here: 
> [https://docs.wavefront.com/wavefront_data_format.html]
> It would be greatly helpful for both Hadoop and Wavefront to have a native 
> integration using  Wavefront Sink to send Hadoop related metrics to Wavefront 
> Server.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org



[jira] [Commented] (HADOOP-15231) WavefrontSink for Hadoop Metrics2

2018-02-15 Thread Howard Yoo (JIRA)

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

Howard Yoo commented on HADOOP-15231:
-

Agreed,

Will change the code to extend the GraphiteSink instead of copying it... Also, 
I believe I need to add unit tests as well - would it be better if I added the 
unit tests?

> WavefrontSink for Hadoop Metrics2
> -
>
> Key: HADOOP-15231
> URL: https://issues.apache.org/jira/browse/HADOOP-15231
> Project: Hadoop Common
>  Issue Type: New Feature
>  Components: metrics
>Reporter: Howard Yoo
>Priority: Minor
>  Labels: metrics, wavefront
>
> Wavefront is a SaaS based large scale real time metrics monitoring and 
> analytic system capable of monitoring many different source systems. There 
> are several Sinks available in Hadoop in order to capture various metrics to 
> external system. The Wavefront data format follows a similar format as that 
> of Graphite, with the addition of native point tag support and source value. 
> The details are outlined here: 
> [https://docs.wavefront.com/wavefront_data_format.html]
> It would be greatly helpful for both Hadoop and Wavefront to have a native 
> integration using  Wavefront Sink to send Hadoop related metrics to Wavefront 
> Server.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org



[jira] [Commented] (HADOOP-15230) org.apache.hadoop.metrics2.GraphiteSink is not implemented correctly

2018-02-15 Thread Howard Yoo (JIRA)

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

Howard Yoo commented on HADOOP-15230:
-

re-submitting patch version 002

> 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
>Priority: Major
>  Labels: GraphiteSink,, metrics
> Attachments: HADOOP-15230.002.patch
>
>
> 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
(v7.6.3#76005)

-
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org



[jira] [Updated] (HADOOP-15230) org.apache.hadoop.metrics2.GraphiteSink is not implemented correctly

2018-02-15 Thread Howard Yoo (JIRA)

 [ 
https://issues.apache.org/jira/browse/HADOOP-15230?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard Yoo updated HADOOP-15230:

Attachment: (was: HADOOP-15230.001.patch)

> 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
>Priority: Major
>  Labels: GraphiteSink,, metrics
> Attachments: HADOOP-15230.002.patch
>
>
> 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
(v7.6.3#76005)

-
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org



[jira] [Updated] (HADOOP-15230) org.apache.hadoop.metrics2.GraphiteSink is not implemented correctly

2018-02-15 Thread Howard Yoo (JIRA)

 [ 
https://issues.apache.org/jira/browse/HADOOP-15230?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard Yoo updated HADOOP-15230:

Attachment: HADOOP-15230.002.patch

> 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
>Priority: Major
>  Labels: GraphiteSink,, metrics
> Attachments: HADOOP-15230.002.patch
>
>
> 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
(v7.6.3#76005)

-
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org



[jira] [Updated] (HADOOP-15230) org.apache.hadoop.metrics2.GraphiteSink is not implemented correctly

2018-02-14 Thread Howard Yoo (JIRA)

 [ 
https://issues.apache.org/jira/browse/HADOOP-15230?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard Yoo updated HADOOP-15230:

Release Note: Corrected problems with GraphiteSink not having proper format 
in point tags. Format v1.1 suggests point tags should be delimited with ';' 
rather than '.' and also appear at the end of the metric name, not in the 
middle. Also removed risk of point tag value having empty space (will be 
replaced by '_').
  Status: Patch Available  (was: Open)

> 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
>Priority: Major
>  Labels: GraphiteSink,, metrics
> Attachments: HADOOP-15230.001.patch
>
>
> 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
(v7.6.3#76005)

-
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org



[jira] [Updated] (HADOOP-15230) org.apache.hadoop.metrics2.GraphiteSink is not implemented correctly

2018-02-14 Thread Howard Yoo (JIRA)

 [ 
https://issues.apache.org/jira/browse/HADOOP-15230?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard Yoo updated HADOOP-15230:

Attachment: HADOOP-15230.001.patch

> 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
>Priority: Major
>  Labels: GraphiteSink,, metrics
> Attachments: HADOOP-15230.001.patch
>
>
> 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
(v7.6.3#76005)

-
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org



[jira] [Commented] (HADOOP-15231) WavefrontSink for Hadoop Metrics2

2018-02-14 Thread Howard Yoo (JIRA)

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

Howard Yoo commented on HADOOP-15231:
-

Hi Steve, thanks for the comment, and sorry for submitting this without too 
much concerns.

The biggest reason of what motivated to me to write this WavefrontSink, was due 
to the fact that WavefrontSink's data format is merely an extension of the 
Graphite format, with the addition of source and point tag to denote a specific 
source system and additional point tags data to it (rather than those being 
part of the metric name). Since I saw a GraphiteSink already existing and added 
to hadoop's list of Sinks, I thought it shouldn't be too difficult and thus can 
be added. I basically copied much of GraphiteSink's source code, and slightly 
changed the part that creates source and point tags to conform with Wavefront 
data format.

If adding a new Sink class to the hadoop source tree is going to be too much of 
a trouble, I wouldn't proceed further. But please understand that it is 
essentially almost same as GraphiteSink, and I thought it wouldn't be needed to 
be extensively tested (once again, sorry for my lack of thoughts). But please 
do consider if this would be possible. I don't have too much experience in 
working in apache hadoop community, so would like to ask what would be a good 
choice to you.

> WavefrontSink for Hadoop Metrics2
> -
>
> Key: HADOOP-15231
> URL: https://issues.apache.org/jira/browse/HADOOP-15231
> Project: Hadoop Common
>  Issue Type: New Feature
>  Components: metrics
>Reporter: Howard Yoo
>Priority: Minor
>  Labels: metrics, wavefront
>
> Wavefront is a SaaS based large scale real time metrics monitoring and 
> analytic system capable of monitoring many different source systems. There 
> are several Sinks available in Hadoop in order to capture various metrics to 
> external system. The Wavefront data format follows a similar format as that 
> of Graphite, with the addition of native point tag support and source value. 
> The details are outlined here: 
> [https://docs.wavefront.com/wavefront_data_format.html]
> It would be greatly helpful for both Hadoop and Wavefront to have a native 
> integration using  Wavefront Sink to send Hadoop related metrics to Wavefront 
> Server.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org



[jira] [Commented] (HADOOP-15230) org.apache.hadoop.metrics2.GraphiteSink is not implemented correctly

2018-02-14 Thread Howard Yoo (JIRA)

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

Howard Yoo commented on HADOOP-15230:
-

Ok, will do. Thanks!

> 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
>Priority: Major
>  Labels: GraphiteSink,, metrics
>
> 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
(v7.6.3#76005)

-
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org



[jira] [Updated] (HADOOP-15231) WavefrontSink for Hadoop Metrics2

2018-02-13 Thread Howard Yoo (JIRA)

 [ 
https://issues.apache.org/jira/browse/HADOOP-15231?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard Yoo updated HADOOP-15231:

Issue Type: New Feature  (was: Wish)

> WavefrontSink for Hadoop Metrics2
> -
>
> Key: HADOOP-15231
> URL: https://issues.apache.org/jira/browse/HADOOP-15231
> Project: Hadoop Common
>  Issue Type: New Feature
>  Components: metrics
>Reporter: Howard Yoo
>Priority: Minor
>  Labels: metrics, wavefront
>
> Wavefront is a SaaS based large scale real time metrics monitoring and 
> analytic system capable of monitoring many different source systems. There 
> are several Sinks available in Hadoop in order to capture various metrics to 
> external system. The Wavefront data format follows a similar format as that 
> of Graphite, with the addition of native point tag support and source value. 
> The details are outlined here: 
> [https://docs.wavefront.com/wavefront_data_format.html]
> It would be greatly helpful for both Hadoop and Wavefront to have a native 
> integration using  Wavefront Sink to send Hadoop related metrics to Wavefront 
> Server.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org



[jira] [Commented] (HADOOP-15231) WavefrontSink for Hadoop Metrics2

2018-02-13 Thread Howard Yoo (JIRA)

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

Howard Yoo commented on HADOOP-15231:
-

created new PR for the WavefrontSink to be merged in github : 
[https://github.com/apache/hadoop/pull/341]

 

> WavefrontSink for Hadoop Metrics2
> -
>
> Key: HADOOP-15231
> URL: https://issues.apache.org/jira/browse/HADOOP-15231
> Project: Hadoop Common
>  Issue Type: Wish
>  Components: metrics
>Reporter: Howard Yoo
>Priority: Minor
>
> Wavefront is a SaaS based large scale real time metrics monitoring and 
> analytic system capable of monitoring many different source systems. There 
> are several Sinks available in Hadoop in order to capture various metrics to 
> external system. The Wavefront data format follows a similar format as that 
> of Graphite, with the addition of native point tag support and source value. 
> The details are outlined here: 
> [https://docs.wavefront.com/wavefront_data_format.html]
> It would be greatly helpful for both Hadoop and Wavefront to have a native 
> integration using  Wavefront Sink to send Hadoop related metrics to Wavefront 
> Server.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org



[jira] [Updated] (HADOOP-15231) WavefrontSink for Hadoop Metrics2

2018-02-13 Thread Howard Yoo (JIRA)

 [ 
https://issues.apache.org/jira/browse/HADOOP-15231?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard Yoo updated HADOOP-15231:

Description: 
Wavefront is a SaaS based large scale real time metrics monitoring and analytic 
system capable of monitoring many different source systems. There are several 
Sinks available in Hadoop in order to capture various metrics to external 
system. The Wavefront data format follows a similar format as that of Graphite, 
with the addition of native point tag support and source value. The details are 
outlined here: [https://docs.wavefront.com/wavefront_data_format.html]

It would be greatly helpful for both Hadoop and Wavefront to have a native 
integration using  Wavefront Sink to send Hadoop related metrics to Wavefront 
Server.

  was:
Wavefront is a SaaS based large scale real time metrics monitoring and analytic 
system capable of monitoring many different source systems. There are several 
Sinks available in Hadoop in order to capture various metrics to external 
system. The Wavefront data format follows a similar format as that of Graphite, 
with the addition of native point tag support and source value. The details are 
outline here: [https://docs.wavefront.com/wavefront_data_format.html]

It would be greatly helpful for Wavefront to have a native integration with 
Hadoop using Wavefront Sink to collect in its native data format.


> WavefrontSink for Hadoop Metrics2
> -
>
> Key: HADOOP-15231
> URL: https://issues.apache.org/jira/browse/HADOOP-15231
> Project: Hadoop Common
>  Issue Type: Wish
>  Components: metrics
>Reporter: Howard Yoo
>Priority: Minor
>
> Wavefront is a SaaS based large scale real time metrics monitoring and 
> analytic system capable of monitoring many different source systems. There 
> are several Sinks available in Hadoop in order to capture various metrics to 
> external system. The Wavefront data format follows a similar format as that 
> of Graphite, with the addition of native point tag support and source value. 
> The details are outlined here: 
> [https://docs.wavefront.com/wavefront_data_format.html]
> It would be greatly helpful for both Hadoop and Wavefront to have a native 
> integration using  Wavefront Sink to send Hadoop related metrics to Wavefront 
> Server.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org



[jira] [Created] (HADOOP-15231) WavefrontSink for Hadoop Metrics2

2018-02-13 Thread Howard Yoo (JIRA)
Howard Yoo created HADOOP-15231:
---

 Summary: WavefrontSink for Hadoop Metrics2
 Key: HADOOP-15231
 URL: https://issues.apache.org/jira/browse/HADOOP-15231
 Project: Hadoop Common
  Issue Type: Wish
  Components: metrics
Reporter: Howard Yoo


Wavefront is a SaaS based large scale real time metrics monitoring and analytic 
system capable of monitoring many different source systems. There are several 
Sinks available in Hadoop in order to capture various metrics to external 
system. The Wavefront data format follows a similar format as that of Graphite, 
with the addition of native point tag support and source value. The details are 
outline here: [https://docs.wavefront.com/wavefront_data_format.html]

It would be greatly helpful for Wavefront to have a native integration with 
Hadoop using Wavefront Sink to collect in its native data format.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org



[jira] [Commented] (HADOOP-15230) org.apache.hadoop.metrics2.GraphiteSink is not implemented correctly

2018-02-13 Thread Howard Yoo (JIRA)

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

Howard Yoo commented on HADOOP-15230:
-

pushed a new PR to fix this issue at : 
[https://github.com/apache/hadoop/pull/340]

 

> 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
>Priority: Major
>  Labels: GraphiteSink,, metrics
>
> 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
(v7.6.3#76005)

-
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org



[jira] [Updated] (HADOOP-15230) org.apache.hadoop.metrics2.GraphiteSink is not implemented correctly

2018-02-13 Thread Howard Yoo (JIRA)

 [ 
https://issues.apache.org/jira/browse/HADOOP-15230?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard Yoo updated HADOOP-15230:

Description: 
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}

  was:
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 
';'


> 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
>Priority: Major
>  Labels: GraphiteSink,, metrics
>
> 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 

[jira] [Updated] (HADOOP-15230) org.apache.hadoop.metrics2.GraphiteSink is not implemented correctly

2018-02-13 Thread Howard Yoo (JIRA)

 [ 
https://issues.apache.org/jira/browse/HADOOP-15230?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard Yoo updated HADOOP-15230:

 Flags: Patch
Labels: GraphiteSink, metrics  (was: )

> 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
>Priority: Major
>  Labels: GraphiteSink,, metrics
>
> 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 ';'



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org



[jira] [Updated] (HADOOP-15230) org.apache.hadoop.metrics2.GraphiteSink is not implemented correctly

2018-02-13 Thread Howard Yoo (JIRA)

 [ 
https://issues.apache.org/jira/browse/HADOOP-15230?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard Yoo updated HADOOP-15230:

Tags: metrics graphite  (was: metrics)

> 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
>Priority: Major
>
> 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 ';'



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org



[jira] [Created] (HADOOP-15230) org.apache.hadoop.metrics2.GraphiteSink is not implemented correctly

2018-02-13 Thread Howard Yoo (JIRA)
Howard Yoo created HADOOP-15230:
---

 Summary: 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


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 
';'



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org