org.rakam.report.QueryStats类的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(3.0k)|赞(0)|评价(0)|浏览(137)

本文整理了Java中org.rakam.report.QueryStats类的一些代码示例,展示了QueryStats类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。QueryStats类的具体详情如下:
包路径:org.rakam.report.QueryStats
类名称:QueryStats

QueryStats介绍

暂无

代码示例

代码示例来源:origin: rakam-io/rakam

@Override
public QueryStats currentStats() {
  return new QueryStats(100, QueryStats.State.FINISHED, null, null, null, null, null, null);
}

代码示例来源:origin: rakam-io/rakam

@Override
public QueryStats currentStats() {
  if (result.isDone()) {
    return new QueryStats(100, FINISHED, null, null, null, null, null, null);
  } else {
    return new QueryStats(null, RUNNING, null, null, null, null, null, null);
  }
}

代码示例来源:origin: rakam-io/rakam

private QueryStats merge(QueryStats currentStats, QueryStats stats) {
  return new QueryStats(
      ofNullable(currentStats.percentage).orElse(0) + ofNullable(stats.percentage).orElse(0),
      Objects.equals(currentStats.state, stats.state) ? currentStats.state : RUNNING,
      (currentStats.node != null && stats.node != null) ?
          Math.max(currentStats.node, stats.node) :
          currentStats.node != null ? currentStats.node : stats.node,
      ofNullable(stats.processedRows).orElse(0L) + ofNullable(currentStats.processedRows).orElse(0L),
      ofNullable(stats.processedBytes).orElse(0L) + ofNullable(currentStats.processedBytes).orElse(0L),
      ofNullable(stats.userTime).orElse(0L) + ofNullable(currentStats.userTime).orElse(0L),
      ofNullable(stats.cpuTime).orElse(0L) + ofNullable(currentStats.cpuTime).orElse(0L),
      ofNullable(stats.wallTime).orElse(0L) + ofNullable(currentStats.wallTime).orElse(0L)
  );
}

代码示例来源:origin: rakam-io/rakam

@Override
public QueryStats currentStats() {
  if (client == null) {
    return new QueryStats(QueryStats.State.WAITING_FOR_AVAILABLE_THREAD);
  }
  if (client.isFailed()) {
    return new QueryStats(QueryStats.State.FAILED);
  }
  StatementStats stats = client.getStats();
  int totalSplits = stats.getTotalSplits();
  QueryStats.State state = QueryStats.State.valueOf(stats.getState().toUpperCase(Locale.ENGLISH));
  int percentage = state == FINISHED ? 100 : (totalSplits == 0 ? 0 : stats.getCompletedSplits() * 100 / totalSplits);
  return new QueryStats(stats.isScheduled() ? percentage : null,
      state,
      stats.getNodes(),
      stats.getProcessedRows(),
      stats.getProcessedBytes(),
      stats.getUserTimeMillis(),
      stats.getCpuTimeMillis(),
      stats.getWallTimeMillis());
}

代码示例来源:origin: org.rakam/rakam-clickhouse

@Override
public QueryStats currentStats()
{
  if (result.isDone()) {
    return new QueryStats(100, FINISHED, null, null, null, null, null, null);
  }
  else {
    String status = runStatement(config, format("select rows_read, bytes_read, total_rows_approx, memory_usage from system.processes where query_id = '%s' format "
        + QueryResponseHandler.FORMAT, queryId));
    if (status.isEmpty()) {
      if (result.isDone()) {
        return currentStats();
      }
      else {
        return new QueryStats(null, RUNNING, null, null, null, null, null, null);
      }
    }
    ClickHouseQueryResult read = JsonHelper.read(status, ClickHouseQueryResult.class);
    int percentage = (((Number) read.data.get(0)).intValue() * 100) / ((Number) read.data.get(2)).intValue();
    return new QueryStats(percentage, RUNNING, null, ((Number) read.data.get(1)).longValue(), ((Number) read.data.get(2)).longValue(),
        null, null, null);
  }
}

相关文章

微信公众号

最新文章

更多

QueryStats类方法