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

ASF GitHub Bot commented on FLINK-7638:
---------------------------------------

Github user tillrohrmann commented on a diff in the pull request:

    https://github.com/apache/flink/pull/4688#discussion_r140236062
  
    --- Diff: 
flink-runtime/src/main/java/org/apache/flink/runtime/messages/webmonitor/JobDetails.java
 ---
    @@ -145,8 +180,89 @@ public String toString() {
                                ", endTime=" + endTime +
                                ", status=" + status +
                                ", lastUpdateTime=" + lastUpdateTime +
    -                           ", numVerticesPerExecutionState=" + 
Arrays.toString(numVerticesPerExecutionState) +
    +                           ", numVerticesPerExecutionState=" + 
Arrays.toString(tasksPerState) +
                                ", numTasks=" + numTasks +
                                '}';
        }
    +
    +   public static final class JobDetailsSerializer extends 
StdSerializer<JobDetails> {
    +           private static final long serialVersionUID = 
7915913423515194428L;
    +
    +           public JobDetailsSerializer() {
    +                   super(JobDetails.class);
    +           }
    +
    +           @Override
    +           public void serialize(
    +                           JobDetails jobDetails,
    +                           JsonGenerator jsonGenerator,
    +                           SerializerProvider serializerProvider) throws 
IOException {
    +                   jsonGenerator.writeStartObject();
    +
    +                   jsonGenerator.writeStringField(FIELD_NAME_JOB_ID, 
jobDetails.getJobId().toString());
    +                   jsonGenerator.writeStringField(FIELD_NAME_JOB_NAME, 
jobDetails.getJobName());
    +                   jsonGenerator.writeStringField(FIELD_NAME_STATUS, 
jobDetails.getStatus().name());
    +
    +                   jsonGenerator.writeNumberField(FIELD_NAME_START_TIME, 
jobDetails.getStartTime());
    +                   jsonGenerator.writeNumberField(FIELD_NAME_END_TIME, 
jobDetails.getEndTime());
    +                   jsonGenerator.writeNumberField(FIELD_NAME_DURATION, 
jobDetails.getDuration());
    +                   
jsonGenerator.writeNumberField(FIELD_NAME_LAST_MODIFICATION, 
jobDetails.getLastUpdateTime());
    +
    +                   jsonGenerator.writeObjectFieldStart("tasks");
    +                   
jsonGenerator.writeNumberField(FIELD_NAME_TOTAL_NUMBER_TASKS, 
jobDetails.getNumTasks());
    +
    +                   final int[] perState = jobDetails.getTasksPerState();
    +
    +                   for (ExecutionState executionState : 
ExecutionState.values()) {
    +                           
jsonGenerator.writeNumberField(executionState.name().toLowerCase(), 
perState[executionState.ordinal()]);
    +                   }
    --- End diff --
    
    I think it's actually alright to have a custom 
serialization/deserialization logic defined if needed. I think this should be 
more efficient than the generic serialization because you don't have to use 
reflection magic. Moreover, it's encapsulated in the `JobDetails class. Thus, 
if need is there, then this could also be changed as you've proposed.


> Port CurrentJobsOverviewHandler to new REST endpoint
> ----------------------------------------------------
>
>                 Key: FLINK-7638
>                 URL: https://issues.apache.org/jira/browse/FLINK-7638
>             Project: Flink
>          Issue Type: Sub-task
>          Components: REST, Webfrontend
>    Affects Versions: 1.4.0
>            Reporter: Till Rohrmann
>            Assignee: Till Rohrmann
>            Priority: Minor
>              Labels: flip-6
>
> Port the existing {{CurrentJobsOverviewHandler}} to the new REST endpoint.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to