本文整理了Java中com.netflix.servo.monitor.Stopwatch
类的一些代码示例,展示了Stopwatch
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Stopwatch
类的具体详情如下:
包路径:com.netflix.servo.monitor.Stopwatch
类名称:Stopwatch
[英]Measures the time taken for execution of some code.
[中]度量执行某些代码所需的时间。
代码示例来源:origin: Netflix/eureka
public Value(String payload) {
this.payload = payload;
if (!EMPTY_PAYLOAD.equals(payload)) {
Stopwatch tracer = compressPayloadTimer.start();
try {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
GZIPOutputStream out = new GZIPOutputStream(bos);
byte[] rawBytes = payload.getBytes();
out.write(rawBytes);
// Finish creation of gzip file
out.finish();
out.close();
bos.close();
gzipped = bos.toByteArray();
} catch (IOException e) {
gzipped = null;
} finally {
if (tracer != null) {
tracer.stop();
}
}
} else {
gzipped = null;
}
}
代码示例来源:origin: Netflix/EVCache
public long incr(String key, long by, long def, int exp) {
final Stopwatch operationDuration = getTimer(INCR_OPERATION_STRING).start();
long val = 0;
try {
val = mutate(Mutator.incr, key, by, def, exp);
} finally {
operationDuration.stop();
if (log.isDebugEnabled()) log.debug("Increment Key : " + key + "; by : " + by + "; default : " + def + "; exp : " + exp
+ "; val : " + val + "; Elapsed Time - " + operationDuration.getDuration(TimeUnit.MILLISECONDS));
}
return val;
}
代码示例来源:origin: Netflix/conductor
private static Stopwatch start(Timer sm) {
Stopwatch sw = new BasicStopwatch() {
@Override
public void stop() {
super.stop();
long duration = getDuration(TimeUnit.MILLISECONDS);
sm.record(duration, TimeUnit.MILLISECONDS);
}
};
sw.start();
return sw;
}
代码示例来源:origin: Netflix/zuul
@Override
public void stopAndLog() {
DynamicTimer.record(config, stopwatch.getDuration());
}
代码示例来源:origin: Netflix/zuul
@Override
public void stopAndLog() {
DynamicTimer.record(config, stopwatch.getDuration());
}
代码示例来源:origin: Netflix/eureka
@Override
protected BasicPoolEntry getEntryBlocking(HttpRoute route, Object state,
long timeout, TimeUnit tunit, WaitingThreadAborter aborter)
throws ConnectionPoolTimeoutException, InterruptedException {
Stopwatch stopWatch = requestTimer.start();
try {
return super.getEntryBlocking(route, state, timeout, tunit, aborter);
} finally {
stopWatch.stop();
}
}
代码示例来源:origin: Netflix/EVCache
public long decr(String key, long by, long def, int exp) {
final Stopwatch operationDuration = getTimer(DECR_OPERATION_STRING).start();
long val = 0;
try {
val = super.decr(key, by, def, exp);
} finally {
operationDuration.stop();
if (log.isDebugEnabled()) log.debug("decrement Key : " + key + "; by : " + by + "; default : " + def + "; exp : " + exp
+ "; val : " + val + "; Elapsed Time - " + (operationDuration.getDuration(TimeUnit.MILLISECONDS)));
}
return val;
}
代码示例来源:origin: Netflix/servo
/**
* {@inheritDoc}
*/
@Override
public Stopwatch start() {
Stopwatch s = new TimedStopwatch(this);
s.start();
return s;
}
代码示例来源:origin: Netflix/EVCache
@Override
public void receivedStatus(OperationStatus val) {
if (val.getStatusCode().equals(StatusCode.SUCCESS)) {
if (log.isDebugEnabled()) log.debug("AddOrAppend Key (Append Operation): " + key + "; Status : " + val.getStatusCode().name()
+ "; Message : " + val.getMessage() + "; Elapsed Time - " + (operationDuration.getDuration(TimeUnit.MILLISECONDS)));
getCounter(AOA_APPEND_OPERATION_SUCCESS_STRING).increment();
rv.set(Boolean.TRUE, val);
appendSuccess = true;
} else {
getCounter("AoA-AppendOperation-"+ val.getStatusCode().name()).increment();
}
}
代码示例来源:origin: Netflix/servo
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
// if the method is one of the CompositeMonitor interface
final Class<?> declaringClass = method.getDeclaringClass();
if (declaringClass.isAssignableFrom(CompositeMonitor.class)) {
return method.invoke(this, args);
}
final String methodName = method.getName();
final Timer timer = timers.get(methodName);
final Stopwatch stopwatch = timer.start();
try {
return method.invoke(concrete, args);
} finally {
stopwatch.stop();
}
}
}
代码示例来源:origin: Netflix/servo
@Test
public void testGetValue() throws Exception {
Stopwatch s = DynamicTimer.start("test1", tagList);
Timer c = getByName("test1");
s.stop();
// we don't call s.stop(), so we only have one recorded value
assert c != null;
assertEquals(c.getValue().longValue(), s.getDuration(TimeUnit.MILLISECONDS));
c.record(13, TimeUnit.MILLISECONDS);
long expected = (13 + s.getDuration(TimeUnit.MILLISECONDS)) / 2;
assertEquals(c.getValue().longValue(), expected);
}
代码示例来源:origin: Netflix/servo
/**
* {@inheritDoc}
*/
@Override
public Stopwatch start() {
Stopwatch s = new TimedStopwatch(this);
s.start();
return s;
}
代码示例来源:origin: com.netflix.zuul/zuul-core
@Override
public void stopAndLog() {
DynamicTimer.record(config, stopwatch.getDuration());
}
代码示例来源:origin: Netflix/eureka
/**
* Queries AWS to see if the load balancer flag is suspended.
*
* @param asgAccountid the accountId this asg resides in, if applicable (null will use the default accountId)
* @param asgName the name of the asg
* @return true, if the load balancer flag is not suspended, false otherwise.
*/
private Boolean isASGEnabledinAWS(String asgAccountid, String asgName) {
try {
Stopwatch t = this.loadASGInfoTimer.start();
boolean returnValue = !isAddToLoadBalancerSuspended(asgAccountid, asgName);
t.stop();
return returnValue;
} catch (Throwable e) {
logger.error("Could not get ASG information from AWS: ", e);
}
return Boolean.TRUE;
}
代码示例来源:origin: Netflix/EVCache
@Override
@SuppressWarnings("synthetic-access")
public void receivedStatus(OperationStatus status) {
operationDuration.stop();
if (log.isDebugEnabled()) log.debug("GetBulk Keys : " + keys + "; Status : " + status.getStatusCode().name()
+ "; Message : " + status.getMessage() + "; Elapsed Time - " + operationDuration.getDuration(TimeUnit.MILLISECONDS));
if (status.getStatusCode().equals(StatusCode.SUCCESS)) {
getCounter(BULK_OPERATION_STRING + "-SUCCESS").increment();
} else {
getCounter(BULK_OPERATION_STRING + "-" + status.getStatusCode().name()).increment();//First lets get some data and then we can add Host info
}
rv.setStatus(status);
}
代码示例来源:origin: Netflix/servo
/**
* {@inheritDoc}
*/
@Override
public Stopwatch start() {
Stopwatch s = new TimedStopwatch(this);
s.start();
return s;
}
代码示例来源:origin: com.netflix.zuul/zuul-netflix
@Override
public void stopAndLog() {
DynamicTimer.record(config, stopwatch.getDuration());
}
代码示例来源:origin: Netflix/eureka
@Override
protected BasicPoolEntry createEntry(RouteSpecificPool rospl,
ClientConnectionOperator op) {
createEntryCounter.increment();
Stopwatch stopWatch = creationTimer.start();
try {
return super.createEntry(rospl, op);
} finally {
stopWatch.stop();
}
}
代码示例来源:origin: Netflix/servo
@Test
public void testByStrings() throws Exception {
Stopwatch s = DynamicTimer.start("byName");
Stopwatch s2 = DynamicTimer.start("byName2", "key", "value");
Thread.sleep(100L);
s.stop();
s2.stop();
Timer c1 = getByName("byName");
assert c1 != null;
assertEquals(c1.getValue().longValue(), s.getDuration(TimeUnit.MILLISECONDS));
Timer c2 = getByName("byName2");
assert c2 != null;
assertEquals(c2.getValue().longValue(), s2.getDuration(TimeUnit.MILLISECONDS));
}
}
代码示例来源:origin: Netflix/servo
/**
* Returns a stopwatch that has been started and will automatically
* record its result to this timer when stopped. Every time this method is called
* the number of active tasks for the timer will be incremented.
* The number will be decremented when the stopwatch is stopped.
*/
public Stopwatch start() {
Stopwatch s = new DurationStopwatch();
s.start();
return s;
}
内容来源于网络,如有侵权,请联系作者删除!