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.execution;
 
 
 import static com.facebook.presto.spi.StandardErrorCode.ABANDONED_QUERY;
 import static com.facebook.presto.spi.StandardErrorCode.USER_CANCELED;
 import static java.util.concurrent.TimeUnit.MILLISECONDS;
 
 public class SqlQueryManagerStats
 {
     private final CounterStat startedQueries = new CounterStat();
     private final CounterStat completedQueries = new CounterStat();
     private final CounterStat failedQueries = new CounterStat();
     private final CounterStat abandonedQueries = new CounterStat();
     private final CounterStat canceledQueries = new CounterStat();
     private final CounterStat userErrorFailures = new CounterStat();
     private final CounterStat internalFailures = new CounterStat();
     private final CounterStat externalFailures = new CounterStat();
     private final CounterStat insufficientResourcesFailures = new CounterStat();
     private final TimeStat executionTime = new TimeStat();
     private final DistributionStat wallInputBytesRate = new DistributionStat();
     private final DistributionStat cpuInputByteRate = new DistributionStat();
 
     public void queryStarted()
     {
         .update(1);
     }
 
     public void queryFinished(QueryInfo info)
     {
         .update(1);
 
         long rawInputBytes = info.getQueryStats().getRawInputDataSize().toBytes();
 
         long executionWallMillis = info.getQueryStats().getEndTime().getMillis() - info.getQueryStats().getCreateTime().getMillis();
         .add(executionWallMillis);
         if (executionWallMillis > 0) {
             .add(rawInputBytes * 1000 / executionWallMillis);
         }
 
         long executionCpuMillis = info.getQueryStats().getTotalCpuTime().toMillis();
         if (executionCpuMillis > 0) {
             .add(rawInputBytes * 1000 / executionCpuMillis);
         }
 
         if (info.getErrorCode() != null) {
             switch (StandardErrorCode.toErrorType(info.getErrorCode().getCode())) {
                 case :
                     .update(1);
                     break;
                 case :
                     .update(1);
                     break;
                 case :
                     .update(1);
                     break;
                 case :
                     .update(1);
                     break;
             }
 
             if (info.getErrorCode().getCode() == .toErrorCode().getCode()) {
                 .update(1);
             }
             else if (info.getErrorCode().getCode() == .toErrorCode().getCode()) {
                 .update(1);
             }
             .update(1);
         }
     }
 
     @Managed
     public long getRunningQueries()
     {
         return Math.max(0, .getTotalCount() - .getTotalCount());
     }
 
     @Managed
     @Nested
     public CounterStat getStartedQueries()
     {
        return ;
    }
    @Managed
    @Nested
    {
        return ;
    }
    @Managed
    @Nested
    public CounterStat getFailedQueries()
    {
        return ;
    }
    @Managed
    @Nested
    public TimeStat getExecutionTime()
    {
        return ;
    }
    @Managed
    @Nested
    {
        return ;
    }
    @Managed
    @Nested
    {
        return ;
    }
    @Managed
    @Nested
    {
        return ;
    }
    @Managed
    @Nested
    {
        return ;
    }
    @Managed
    @Nested
    {
        return ;
    }
    @Managed
    @Nested
    {
        return ;
    }
    @Managed(description = "Distribution of query input data rates (wall)")
    @Nested
    {
        return ;
    }
    @Managed(description = "Distribution of query input data rates (cpu)")
    @Nested
    {
        return ;
    }
New to GrepCode? Check out our FAQ X