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

Steve Loughran commented on HDFS-10175:
---------------------------------------

bq. One thing that is a bit concerning about metrics2 is that I think people 
feel that this interface should be stable (i.e. don't remove or alter things 
once they're in), which would be a big constraint on us. 

Ops teams don't like metrics they rely on being taken away; they also view 
published metrics as the API. As the compatibility docs say "Metrics should 
preserve compatibility within the major release."

bq. Perhaps we could document that per-fs stats were @Public @Evolving rather 
than stable

+1 to that, though it'll be important not to break binary compatibility with 
external filesystems.

FWIW, issues I have with metrics2, apart from "steve doesn't understand the 
design fully" is its preference for singletons registered with JMX. This makes 
sense in deployed services, not for tests.

bq. Do we have any ideas about how Spark will consume these metrics in the 
longer term?

Spark ia a Coda Hale instrumented codebase, as are many other apps these days. 
Integration between hadoop metrics of any form and the Coda Hale libraries 
would be something to address, but not here.



> add per-operation stats to FileSystem.Statistics
> ------------------------------------------------
>
>                 Key: HDFS-10175
>                 URL: https://issues.apache.org/jira/browse/HDFS-10175
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>          Components: hdfs-client
>            Reporter: Ram Venkatesh
>            Assignee: Mingliang Liu
>         Attachments: HDFS-10175.000.patch, HDFS-10175.001.patch, 
> HDFS-10175.002.patch, HDFS-10175.003.patch, HDFS-10175.004.patch, 
> HDFS-10175.005.patch, HDFS-10175.006.patch, TestStatisticsOverhead.java
>
>
> Currently FileSystem.Statistics exposes the following statistics:
> BytesRead
> BytesWritten
> ReadOps
> LargeReadOps
> WriteOps
> These are in-turn exposed as job counters by MapReduce and other frameworks. 
> There is logic within DfsClient to map operations to these counters that can 
> be confusing, for instance, mkdirs counts as a writeOp.
> Proposed enhancement:
> Add a statistic for each DfsClient operation including create, append, 
> createSymlink, delete, exists, mkdirs, rename and expose them as new 
> properties on the Statistics object. The operation-specific counters can be 
> used for analyzing the load imposed by a particular job on HDFS. 
> For example, we can use them to identify jobs that end up creating a large 
> number of files.
> Once this information is available in the Statistics object, the app 
> frameworks like MapReduce can expose them as additional counters to be 
> aggregated and recorded as part of job summary.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to