hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James P. White (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HADOOP-1041) Counter names are ugly
Date Mon, 26 Feb 2007 22:15:05 GMT

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

James P. White commented on HADOOP-1041:
----------------------------------------

An example of how to bridge the gap between programmers and translators is something like
this:

  <target name="build-default-resource-bundle">
     <concat destfile="${build.classes}/HadoopPresentation.properties" force="yes" fixlastline="yes"
eol="lf">
        <fileset dir="${src.dir}" includes="**/HadoopPresentation_en.properties"/>
     </concat>
     <exec executable="sort">
        <arg value="-o"/>  <arg file="${build.classes}/HadoopPresentation.properties"/>
        <arg file="${build.classes}/HadoopPresentation.properties"/>
     </exec>
  </target>
  
That grabs up little English property resource bundles from the source tree and makes a default
property resource bundle out of it.  The sort is done so that changes to the build don't make
spurious changes to the bundle.

Now that doesn't address how bundles from multiple JARs are handled.  Dealing with that is
a classpath issue and the best approach depends on how Hadoop is structured.  The topic can
be arcane, and isn't really addressed by most articles on the topic:

http://java.sun.com/docs/books/tutorial/i18n/resbundle/control.html

http://java.sun.com/javase/technologies/core/basic/intl/

I won't digress into musings on ClassLoader.getPackage and the like.  If you have a scheme
that delegates the bundles to the various JARs that you like, then that is probably fine.
 But there isn't going to be a good way out of long gangly key names, as they effectively
have to be fully qualified class+field names in order to work (think of resource bundles as
externalized object containers).


> Counter names are ugly
> ----------------------
>
>                 Key: HADOOP-1041
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1041
>             Project: Hadoop
>          Issue Type: Improvement
>          Components: mapred
>    Affects Versions: 0.12.0
>            Reporter: Owen O'Malley
>             Fix For: 0.12.0
>
>
> Having the complete class name in the counter names makes them unique, but they are ugly
to present to non-developers. It would be nice to have some way to have a nicer string presented
to the user. Currently, the Enum is converted to a name like:
> key.getDeclaringClass().getName() + "#" + key.toString()
> which gives counter names like "org.apache.hadoop.examples.RandomWriter$Counters#BYTES_WRITTEN"
> which is unique, but not very user friendly. Perhaps, we should strip off the class name
for presenting to the users, which would allow them to make nice names. In particular, you
could define an enum type that overloaded toString to print a nice user friendly string.
> Thoughts?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message