@GET @Produces(MediaType.APPLICATION_JSON) public List<QueryStateInfo> getQueryStateInfos(@QueryParam("user") String user) { List<BasicQueryInfo> queryInfos = queryManager.getQueries(); if (!isNullOrEmpty(user)) { queryInfos = queryInfos.stream() .filter(queryInfo -> Pattern.matches(user, queryInfo.getSession().getUser())) .collect(toImmutableList()); } return queryInfos.stream() .filter(queryInfo -> !queryInfo.getState().isDone()) .map(this::getQueryStateInfo) .collect(toImmutableList()); }
@GET @Produces(MediaType.APPLICATION_JSON) public List<QueryStateInfo> getQueryStateInfos(@QueryParam("user") String user) { List<BasicQueryInfo> queryInfos = queryManager.getQueries(); if (!isNullOrEmpty(user)) { queryInfos = queryInfos.stream() .filter(queryInfo -> Pattern.matches(user, queryInfo.getSession().getUser())) .collect(toImmutableList()); } return queryInfos.stream() .filter(queryInfo -> !queryInfo.getState().isDone()) .map(this::getQueryStateInfo) .collect(toImmutableList()); }
private static QueryStateInfo createQueryStateInfo( BasicQueryInfo queryInfo, Optional<ResourceGroupId> groupId, Optional<List<ResourceGroupInfo>> pathToRoot, Optional<QueryProgressStats> progress) { return new QueryStateInfo( queryInfo.getQueryId(), queryInfo.getState(), groupId, queryInfo.getQuery(), queryInfo.getQueryStats().getCreateTime(), queryInfo.getSession().getUser(), queryInfo.getSession().getSource(), queryInfo.getSession().getClientInfo(), queryInfo.getSession().getCatalog(), queryInfo.getSession().getSchema(), pathToRoot, progress); }
private static QueryStateInfo createQueryStateInfo( BasicQueryInfo queryInfo, Optional<ResourceGroupId> groupId, Optional<List<ResourceGroupInfo>> pathToRoot, Optional<QueryProgressStats> progress) { return new QueryStateInfo( queryInfo.getQueryId(), queryInfo.getState(), groupId, queryInfo.getQuery(), queryInfo.getQueryStats().getCreateTime(), queryInfo.getSession().getUser(), queryInfo.getSession().getSource(), queryInfo.getSession().getClientInfo(), queryInfo.getSession().getCatalog(), queryInfo.getSession().getSchema(), pathToRoot, progress); }
private static void logQueryTimeline(BasicQueryInfo queryInfo) { DateTime queryStartTime = queryInfo.getQueryStats().getCreateTime(); DateTime queryEndTime = queryInfo.getQueryStats().getEndTime(); // query didn't finish cleanly if (queryStartTime == null || queryEndTime == null) { return; } long elapsed = max(queryEndTime.getMillis() - queryStartTime.getMillis(), 0); logQueryTimeline( queryInfo.getQueryId(), queryInfo.getSession().getTransactionId().map(TransactionId::toString).orElse(""), elapsed, elapsed, 0, 0, 0, queryStartTime, queryEndTime); }
private static void logQueryTimeline(BasicQueryInfo queryInfo) { DateTime queryStartTime = queryInfo.getQueryStats().getCreateTime(); DateTime queryEndTime = queryInfo.getQueryStats().getEndTime(); // query didn't finish cleanly if (queryStartTime == null || queryEndTime == null) { return; } long elapsed = max(queryEndTime.getMillis() - queryStartTime.getMillis(), 0); logQueryTimeline( queryInfo.getQueryId(), queryInfo.getSession().getTransactionId().map(TransactionId::toString).orElse(""), elapsed, elapsed, 0, 0, 0, queryStartTime, queryEndTime); }
public void queryCreatedEvent(BasicQueryInfo queryInfo) { eventListenerManager.queryCreated( new QueryCreatedEvent( queryInfo.getQueryStats().getCreateTime().toDate().toInstant(), createQueryContext(queryInfo.getSession(), queryInfo.getResourceGroupId()), new QueryMetadata( queryInfo.getQueryId().toString(), queryInfo.getSession().getTransactionId().map(TransactionId::toString), queryInfo.getQuery(), QUEUED.toString(), queryInfo.getSelf(), Optional.empty(), Optional.empty()))); }
public void queryCreatedEvent(BasicQueryInfo queryInfo) { eventListenerManager.queryCreated( new QueryCreatedEvent( queryInfo.getQueryStats().getCreateTime().toDate().toInstant(), createQueryContext(queryInfo.getSession(), queryInfo.getResourceGroupId()), new QueryMetadata( queryInfo.getQueryId().toString(), queryInfo.getSession().getTransactionId().map(TransactionId::toString), queryInfo.getQuery(), QUEUED.toString(), queryInfo.getSelf(), Optional.empty(), Optional.empty()))); }
new QueryMetadata( queryInfo.getQueryId().toString(), queryInfo.getSession().getTransactionId().map(TransactionId::toString), queryInfo.getQuery(), queryInfo.getState().toString(), ImmutableList.of(), Optional.empty()), createQueryContext(queryInfo.getSession(), queryInfo.getResourceGroupId()), new QueryIOMetadata(ImmutableList.of(), Optional.empty()), createQueryFailureInfo(failure, Optional.empty()),
new QueryMetadata( queryInfo.getQueryId().toString(), queryInfo.getSession().getTransactionId().map(TransactionId::toString), queryInfo.getQuery(), queryInfo.getState().toString(), ImmutableList.of(), ImmutableList.of()), createQueryContext(queryInfo.getSession(), queryInfo.getResourceGroupId()), new QueryIOMetadata(ImmutableList.of(), Optional.empty()), createQueryFailureInfo(failure, Optional.empty()),
assertEquals(queryInfo.getSession().getSystemProperties(), ImmutableMap.builder() .put(QUERY_MAX_MEMORY, "1GB") .put(JOIN_DISTRIBUTION_TYPE, "partitioned") assertEquals(queryInfo.getSession().getClientInfo().get(), "{\"clientVersion\":\"testVersion\"}"); assertEquals(queryInfo.getSession().getPreparedStatements(), ImmutableMap.builder() .put("foo", "select * from bar") .build());
assertEquals(queryInfo.getSession().getSystemProperties(), ImmutableMap.builder() .put(QUERY_MAX_MEMORY, "1GB") .put(JOIN_DISTRIBUTION_TYPE, "partitioned") assertEquals(queryInfo.getSession().getClientInfo().get(), "{\"clientVersion\":\"testVersion\"}"); assertEquals(queryInfo.getSession().getPreparedStatements(), ImmutableMap.builder() .put("foo", "select * from bar") .build());