Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *     http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 package com.facebook.presto.event.query;
 
 
 
 import java.net.URI;
 import java.util.List;
 
 @EventType("QueryCompletion")
 public class QueryCompletionEvent
 {
     private final QueryId queryId;
     private final String user;
     private final String source;
     private final String serverVersion;
     private final String environment;
     private final String catalog;
     private final String schema;
     private final String remoteClientAddress;
     private final String userAgent;
     private final QueryState queryState;
     private final URI uri;
     private final List<StringfieldNames;
     private final String query;
 
     private final DateTime createTime;
     private final DateTime executionStartTime;
     private final DateTime endTime;
 
     private final Long queuedTimeMs;
     private final Long analysisTimeMs;
     private final Long distributedPlanningTimeMs;
     private final Long totalSplitWallTimeMs;
     private final Long totalSplitCpuTimeMs;
     private final Long totalBytes;
     private final Long totalRows;
 
     private final Integer splits;
 
     private final ErrorCode errorCode;
     private final String failureType;
     private final String failureMessage;
 
     private final String outputStageJson;
     private final String failuresJson;
 
     private final String inputsJson;
     private final String sessionPropertiesJson;
 
     public QueryCompletionEvent(
             QueryId queryId,
             String user,
             String source,
             String serverVersion,
             String environment,
             String catalog,
             String schema,
             String remoteClientAddress,
             String userAgent,
             QueryState queryState,
             URI uri,
             List<StringfieldNames,
             String query,
             DateTime createTime,
             DateTime executionStartTime,
             DateTime endTime,
             Duration queuedTime,
             Duration analysisTime,
             Duration distributedPlanningTime,
             Duration totalSplitWallTime,
             Duration totalSplitCpuTime,
             DataSize totalDataSize,
             Long totalRows,
             Integer splits,
             ErrorCode errorCode,
            String failureType,
            String failureMessage,
            String outputStageJson,
            String failuresJson,
            String inputsJson,
            String sessionPropertiesJson)
    {
        this. = queryId;
        this. = user;
        this. = source;
        this. = serverVersion;
        this. = environment;
        this. = catalog;
        this. = schema;
        this. = remoteClientAddress;
        this. = userAgent;
        this. = queryState;
        this. = uri;
        this. = errorCode;
        this. = ImmutableList.copyOf(fieldNames);
        this. = query;
        this. = createTime;
        this. = executionStartTime;
        this. = endTime;
        this. = durationToMillis(queuedTime);
        this. = durationToMillis(analysisTime);
        this. = durationToMillis(distributedPlanningTime);
        this. = durationToMillis((totalSplitWallTime));
        this. = durationToMillis(totalSplitCpuTime);
        this. = sizeToBytes(totalDataSize);
        this. = totalRows;
        this. = splits;
        this. = failureType;
        this. = failureMessage;
        this. = outputStageJson;
        this. = failuresJson;
        this. = inputsJson;
        this. = sessionPropertiesJson;
    }
    @Nullable
    private static Long durationToMillis(@Nullable Duration duration)
    {
        if (duration == null) {
            return null;
        }
        return duration.toMillis();
    }
    @Nullable
    private static Long sizeToBytes(@Nullable DataSize dataSize)
    {
        if (dataSize == null) {
            return null;
        }
        return dataSize.toBytes();
    }
    @EventField
    public String getQueryId()
    {
        return .toString();
    }
    @EventField
    public String getUser()
    {
        return ;
    }
    @EventField
    public String getSource()
    {
        return ;
    }
    @EventField
    public String getServerVersion()
    {
        return ;
    }
    @EventField
    public String getEnvironment()
    {
        return ;
    }
    @EventField
    public String getCatalog()
    {
        return ;
    }
    @EventField
    public String getSchema()
    {
        return ;
    }
    @EventField
    {
        return ;
    }
    @EventField
    public String getUserAgent()
    {
        return ;
    }
    @EventField
    public String getQueryState()
    {
        return .name();
    }
    @EventField
    public String getUri()
    {
        return .toString();
    }
    @EventField
    public List<StringgetFieldNames()
    {
        return ;
    }
    @EventField
    public String getQuery()
    {
        return ;
    }
    @EventField
    public DateTime getCreateTime()
    {
        return ;
    }
    @EventField
    {
        return ;
    }
    @EventField
    public DateTime getEndTime()
    {
        return ;
    }
    @EventField
    public Long getQueryWallTimeMs()
    {
        if ( == null ||  == null) {
            return null;
        }
        return .getMillis() - .getMillis();
    }
    @EventField
    public Long getQueuedTimeMs()
    {
        return ;
    }
    @EventField
    public Long getAnalysisTimeMs()
    {
        return ;
    }
    @EventField
    {
        return ;
    }
    @EventField
    public Long getTotalSplitWallTimeMs()
    {
        return ;
    }
    @EventField
    public Long getTotalSplitCpuTimeMs()
    {
        return ;
    }
    @EventField
    public Long getBytesPerSec()
    {
        Long queryWallTimeMs = getQueryWallTimeMs();
        if ( == null || queryWallTimeMs == null) {
            return null;
        }
        return  * 1000 / (queryWallTimeMs + 1); // add 1 to avoid divide by zero
    }
    @EventField
    public Long getBytesPerCpuSec()
    {
        if ( == null ||  == null) {
            return null;
        }
        return  * 1000 / ( + 1); // add 1 to avoid divide by zero
    }
    @EventField
    public Long getTotalBytes()
    {
        return ;
    }
    @EventField
    public Long getRowsPerSec()
    {
        Long queryWallTimeMs = getQueryWallTimeMs();
        if ( == null || queryWallTimeMs == null) {
            return null;
        }
        return  * 1000 / (queryWallTimeMs + 1); // add 1 to avoid divide by zero
    }
    @EventField
    public Long getRowsPerCpuSec()
    {
        if ( == null ||  == null) {
            return null;
        }
        return  * 1000 / ( + 1); // add 1 to avoid divide by zero
    }
    @EventField
    public Long getTotalRows()
    {
        return ;
    }
    @EventField
    public Integer getSplits()
    {
        return ;
    }
    @EventField
    public Integer getErrorCode()
    {
        return  == null ? null : .getCode();
    }
    @EventField
    public String getErrorCodeName()
    {
        return  == null ? null : .getName();
    }
    @EventField
    public String getFailureType()
    {
        return ;
    }
    @EventField
    public String getFailureMessage()
    {
        return ;
    }
    @EventField
    public String getOutputStageJson()
    {
        return ;
    }
    @EventField
    public String getFailuresJson()
    {
        return ;
    }
    @EventField
    public String getInputsJson()
    {
        return ;
    }
    @EventField
    {
        return ;
    }
New to GrepCode? Check out our FAQ X