当前位置: 首页>>代码示例>>Java>>正文


Java ExecutionInfo类代码示例

本文整理汇总了Java中com.datastax.driver.core.ExecutionInfo的典型用法代码示例。如果您正苦于以下问题:Java ExecutionInfo类的具体用法?Java ExecutionInfo怎么用?Java ExecutionInfo使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


ExecutionInfo类属于com.datastax.driver.core包,在下文中一共展示了ExecutionInfo类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: execute

import com.datastax.driver.core.ExecutionInfo; //导入依赖的package包/类
@Override
public ResultSet<CassandraDBContext> execute(Query<CassandraDBContext> query) throws QueryExecutionException {
	try (Cluster cassandraConnection = buildConnection()) {

		final Metadata metadata = cassandraConnection.getMetadata();
		System.out.printf("Connected to cluster: %s", metadata.getClusterName());
		for (final Host host : metadata.getAllHosts()) {
			System.out.printf("Datacenter: %s; Host: %s; Rack: %s", host.getDatacenter(), host.getAddress(),
					host.getRack());
		}

		try (Session session = cassandraConnection.connect()) {

			String queryToExecute = query.getQuery();
			System.out.println(queryToExecute);
			com.datastax.driver.core.ResultSet resultSet = session.execute(queryToExecute);
			printResultSet(resultSet);

			ExecutionInfo executionInfo = resultSet.getExecutionInfo();
			System.out.println(executionInfo);
		}
	}
	// There isn't any resultset for these use-case
	return new CassandraResultSet();
}
 
开发者ID:alokawi,项目名称:spark-cassandra-poc,代码行数:26,代码来源:CassandraConnection.java

示例2: toString

import com.datastax.driver.core.ExecutionInfo; //导入依赖的package包/类
@Override
public String toString() {
    StringBuilder builder = new StringBuilder(); 
    for (ExecutionInfo info : getAllExecutionInfo())  {

        builder.append("queried=" + info.getQueriedHost());
        builder.append("\r\ntried=")
               .append(Joiner.on(",").join(info.getTriedHosts()));


        if (info.getAchievedConsistencyLevel() != null) {
            builder.append("\r\nachievedConsistencyLevel=" + info.getAchievedConsistencyLevel());
        }
        
        if (info.getQueryTrace() != null) {
            builder.append("\r\ntraceid=" + info.getQueryTrace().getTraceId());
            builder.append("\r\nevents:\r\n" + Joiner.on("\r\n").join(info.getQueryTrace().getEvents()));
        }
    }
    return builder.toString();
}
 
开发者ID:1and1,项目名称:Troilus,代码行数:22,代码来源:AbstractQuery.java

示例3: logExecutionInfo

import com.datastax.driver.core.ExecutionInfo; //导入依赖的package包/类
public void logExecutionInfo(String prefix, ExecutionInfo executionInfo) {
	if (executionInfo != null) {
		StringBuilder msg = new StringBuilder("\n" + prefix);
		msg.append(String.format("\nHost (queried): %s\n", executionInfo.getQueriedHost().toString()));

		for (Host host : executionInfo.getTriedHosts()) {
			msg.append(String.format("Host (tried): %s\n", host.toString()));
		}

		QueryTrace queryTrace = executionInfo.getQueryTrace();
		if (queryTrace != null) {
			msg.append(String.format("Trace id: %s\n\n", queryTrace.getTraceId()));
			msg.append(String.format("%-80s | %-12s | %-20s | %-12s\n", "activity", "timestamp", "source", "source_elapsed"));
			msg.append(String.format("---------------------------------------------------------------------------------+--------------+----------------------+--------------\n"));
			for (QueryTrace.Event event : queryTrace.getEvents()) {
				msg.append(String.format("%80s | %12s | %20s | %12s\n", event.getDescription(), format.format(event.getTimestamp()), event.getSource(), event.getSourceElapsedMicros()));
			}
			LOG.info(msg.toString());
		} else {
			LOG.warn("Query Trace is null\n" + msg);
		}
	} else {
		LOG.warn("Null execution info");
	}
}
 
开发者ID:digitalis-io,项目名称:cassandra-probe,代码行数:26,代码来源:TestCQLQueryProbe.java

示例4: write

import com.datastax.driver.core.ExecutionInfo; //导入依赖的package包/类
private void write(String query, Object... values) {
	logger.debug("query = {} : values = {}", query, values);
	PreparedStatement stmt = writeStatementCache.getUnchecked(query);

	BoundStatement bind = stmt.bind(values);
	ResultSet rs = session.execute(bind);

	ExecutionInfo executionInfo = rs.getExecutionInfo();
	Host queriedHost = executionInfo.getQueriedHost();
	logger.debug("queried host = {}", queriedHost);

	if (tracingEnabled) {
		QueryTrace queryTrace = executionInfo.getQueryTrace();
		if (queryTrace != null) {
			if (logger.isDebugEnabled()) {
				logger.debug("{}", toString(queryTrace));
			}
		}
	}
}
 
开发者ID:WizeCommerce,项目名称:hecuba,代码行数:21,代码来源:DataStaxBasedSharedHecubaClientManager.java

示例5: reduceFetchSize

import com.datastax.driver.core.ExecutionInfo; //导入依赖的package包/类
/**
 * Reduces the fetch size and retries the query.  Returns true if the query succeeded, false if the root cause
 * of the exception does not indicate a frame size issue, if the frame size cannot be adjusted down any further,
 * or if the retried query fails for an unrelated reason.
 */
private boolean reduceFetchSize(Throwable reason) {
    if (!isAdaptiveException(reason) || --_remainingAdaptations == 0) {
        return false;
    }

    ExecutionInfo executionInfo = _delegate.getExecutionInfo();
    Statement statement = executionInfo.getStatement();
    PagingState pagingState = executionInfo.getPagingState();
    int fetchSize = statement.getFetchSize();

    while (fetchSize > MIN_FETCH_SIZE) {
        fetchSize = Math.max(fetchSize / 2, MIN_FETCH_SIZE);
        _log.debug("Retrying query at next page with fetch size {} due to {}", fetchSize, reason.getMessage());
        statement.setFetchSize(fetchSize);
        statement.setPagingState(pagingState);
        try {
            _delegate = _session.execute(statement);
            return true;
        } catch (Throwable t) {
            // Exit the adaptation loop if the exception isn't one where adapting further may help
            if (!isAdaptiveException(t) || --_remainingAdaptations == 0) {
                return false;
            }
        }
    }

    return false;
}
 
开发者ID:bazaarvoice,项目名称:emodb,代码行数:34,代码来源:AdaptiveResultSet.java

示例6: createPositiveResultSet

import com.datastax.driver.core.ExecutionInfo; //导入依赖的package包/类
private ResultSet createPositiveResultSet(String hostName) {
    ExecutionInfo executionInfo = mock(ExecutionInfo.class);
    Host host = mock(Host.class);
    when(host.toString()).thenReturn(hostName);
    when(executionInfo.getQueriedHost()).thenReturn(host);
    ResultSet resultSet = mock(ResultSet.class);
    when(resultSet.getExecutionInfo()).thenReturn(executionInfo);
    return resultSet;
}
 
开发者ID:bazaarvoice,项目名称:emodb,代码行数:10,代码来源:TestCassandraHealthCheck.java

示例7: healthCheck

import com.datastax.driver.core.ExecutionInfo; //导入依赖的package包/类
public int healthCheck() {
    final Statement health = QueryBuilder.select().all().from(HEALTHCHECK_KEYSPACE_NAME, "healthcheck")
            .where(eq("healthkey", "healthy"));
    health.setConsistencyLevel(ConsistencyLevel.ALL);
    health.enableTracing();
    QueryTrace queryTrace;
    cluster.register(new LoggingLatencyTracker());
    try {
        final ResultSet results = session.execute(health);
        final ExecutionInfo executionInfo = results.getExecutionInfo();
        queryTrace = executionInfo.getQueryTrace();
    } catch (NoHostAvailableException e) {
        LOG.error("No hosts available", e);
        return 2;
    }
    if (retryPolicy.getLastDecision() != null) {
        LOG.warn("Could not query all hosts");
        if (queryTrace != null) {
            final Set<InetAddress> missingHosts = new HashSet<>(hosts.size());
            for (Host host : hosts) {
                missingHosts.add(host.getSocketAddress().getAddress());
            }
            for (QueryTrace.Event event : queryTrace.getEvents()) {
                missingHosts.remove(event.getSource());
                LOG.debug("description={} elapsed={} source={} micros={}",
                        event.getDescription(),
                        millis2Date(event.getTimestamp()),
                        event.getSource(),
                        event.getSourceElapsedMicros());
            }
            if (!missingHosts.isEmpty()) {
                LOG.error("Missing log entries from these hosts: {}", missingHosts);
            }
        }
        return 1;
    }
    return 0;
}
 
开发者ID:lookout,项目名称:cassandra-health-check,代码行数:39,代码来源:CassandraHealthCheck.java

示例8: buildTrace

import com.datastax.driver.core.ExecutionInfo; //导入依赖的package包/类
private AsyncFuture<QueryTrace> buildTrace(
    final Connection c, final QueryTrace.Identifier what, final long elapsed,
    List<ExecutionInfo> info
) {
    final ImmutableList.Builder<AsyncFuture<QueryTrace>> traces = ImmutableList.builder();

    for (final ExecutionInfo i : info) {
        com.datastax.driver.core.QueryTrace qt = i.getQueryTrace();

        if (qt == null) {
            log.warn("Query trace requested, but is not available");
            continue;
        }

        traces.add(getEvents(c, qt.getTraceId()).directTransform(events -> {
            final ImmutableList.Builder<QueryTrace> children = ImmutableList.builder();

            for (final Event e : events) {
                final long eventElapsed =
                    TimeUnit.NANOSECONDS.convert(e.getSourceElapsed(), TimeUnit.MICROSECONDS);
                children.add(QueryTrace.of(QueryTrace.identifier(e.getName()), eventElapsed));
            }

            final QueryTrace.Identifier segment = QueryTrace.identifier(
                i.getQueriedHost().toString() + "[" + qt.getTraceId().toString() + "]");

            final long segmentElapsed =
                TimeUnit.NANOSECONDS.convert(qt.getDurationMicros(), TimeUnit.MICROSECONDS);

            return QueryTrace.of(segment, segmentElapsed, children.build());
        }));
    }

    return async
        .collect(traces.build())
        .directTransform(t -> QueryTrace.of(what, elapsed, ImmutableList.copyOf(t)));
}
 
开发者ID:spotify,项目名称:heroic,代码行数:38,代码来源:DatastaxBackend.java

示例9: getRowWithTracing

import com.datastax.driver.core.ExecutionInfo; //导入依赖的package包/类
public ResultSet getRowWithTracing(String keyspace, String table,
		String key, ConsistencyLevel level) {

	Query select = QueryBuilder.select().all().from(keyspace, table)
			.where(QueryBuilder.eq(KEY, key)).setConsistencyLevel(level)
			.enableTracing();

	ResultSet results = session.execute(select);
	ExecutionInfo executionInfo = results.getExecutionInfo();
	System.out.printf("Host (queried): %s\n", executionInfo
			.getQueriedHost().toString());
	for (Host host : executionInfo.getTriedHosts()) {
		System.out.printf("Host (tried): %s\n", host.toString());
	}
	QueryTrace queryTrace = executionInfo.getQueryTrace();
	System.out.printf("Trace id: %s\n\n", queryTrace.getTraceId());
	System.out.printf("%-38s | %-12s | %-10s | %-12s\n", "activity",
			"timestamp", "source", "source_elapsed");
	System.out
			.println("---------------------------------------+--------------+------------+--------------");
	for (QueryTrace.Event event : queryTrace.getEvents()) {
		System.out.printf("%38s | %12s | %10s | %12s\n",
				event.getDescription(), new Date(event.getTimestamp()),
				event.getSource(), event.getSourceElapsedMicros());
	}
	select.disableTracing();
	return results;
}
 
开发者ID:SimbaService,项目名称:Simba,代码行数:29,代码来源:CassandraHandler.java

示例10: read

import com.datastax.driver.core.ExecutionInfo; //导入依赖的package包/类
private CassandraResultSet<K, String> read(String query, DataType keyType, DataType columnType,
		Map<String, DataType> valueTypes, Object... values) {
	logger.debug("query = {} : values = {}", query, values);
	PreparedStatement stmt = readStatementCache.getUnchecked(query);

	BoundStatement bind = stmt.bind(values);

	if (statementFetchSize > 0) {
		bind.setFetchSize(statementFetchSize);
	} else {
		bind.setFetchSize(Integer.MAX_VALUE);
	}

	long startTimeNanos = System.nanoTime();
	ResultSet rs = session.execute(bind);
	long durationNanos = System.nanoTime() - startTimeNanos;

	ExecutionInfo executionInfo = rs.getExecutionInfo();
	Host queriedHost = executionInfo.getQueriedHost();
	logger.debug("queried host = {}", queriedHost);

	if (tracingEnabled) {
		QueryTrace queryTrace = executionInfo.getQueryTrace();
		if (queryTrace != null) {
			if (logger.isDebugEnabled()) {
				logger.debug("{}", toString(queryTrace));
			}
		}
	}

	return new DataStaxCassandraResultSet<K>(rs, ObjectUtils.defaultIfNull(keyType, this.keyType),
			columnType, valueTypes, durationNanos);
}
 
开发者ID:WizeCommerce,项目名称:hecuba,代码行数:34,代码来源:DataStaxBasedSharedHecubaClientManager.java

示例11: getExecutionInfo

import com.datastax.driver.core.ExecutionInfo; //导入依赖的package包/类
@Override
public ExecutionInfo getExecutionInfo() {
    return null;
}
 
开发者ID:siddv29,项目名称:cfs,代码行数:5,代码来源:ConsumerEnd.java

示例12: getAllExecutionInfo

import com.datastax.driver.core.ExecutionInfo; //导入依赖的package包/类
@Override
public List<ExecutionInfo> getAllExecutionInfo() {
    return null;
}
 
开发者ID:siddv29,项目名称:cfs,代码行数:5,代码来源:ConsumerEnd.java

示例13: getExecutionInfo

import com.datastax.driver.core.ExecutionInfo; //导入依赖的package包/类
@Override
public ExecutionInfo getExecutionInfo() {
    return _delegate.getExecutionInfo();
}
 
开发者ID:bazaarvoice,项目名称:emodb,代码行数:5,代码来源:AdaptiveResultSet.java

示例14: getAllExecutionInfo

import com.datastax.driver.core.ExecutionInfo; //导入依赖的package包/类
@Override
public List<ExecutionInfo> getAllExecutionInfo() {
    return _delegate.getAllExecutionInfo();
}
 
开发者ID:bazaarvoice,项目名称:emodb,代码行数:5,代码来源:AdaptiveResultSet.java

示例15: getExecutionInfo

import com.datastax.driver.core.ExecutionInfo; //导入依赖的package包/类
public ExecutionInfo getExecutionInfo() {
	// TODO Auto-generated method stub
	return null;
}
 
开发者ID:adejanovski,项目名称:cassandra-jdbc-wrapper,代码行数:5,代码来源:MetadataResultSet.java


注:本文中的com.datastax.driver.core.ExecutionInfo类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。