public Collection<String> getHosts() { Set<String> hosts = new TreeSet<String>(); for (CheckResults checkResult : checkResultsByMeasurementSessionId.values()) { hosts.add(checkResult.getMeasurementSession().getHostName()); } return hosts; }
@Override public String toString() { StringBuilder sb = new StringBuilder() .append("Incident for check group '").append(checkName).append("':\n") .append("firstFailureAt=").append(firstFailureAt).append("\n"); if (resolvedAt == null) { sb.append("resolvedAt=").append(resolvedAt).append("\n"); } sb.append("oldStatus=").append(oldStatus).append("\n") .append("newStatus=").append(newStatus).append("\n"); if (!checkResultsByMeasurementSessionId.isEmpty()) { sb.append("host|instance|status|description|current value\n") .append("----|--------|------|-----------|-------------\n"); for (CheckResults checkResult : checkResultsByMeasurementSessionId.values()) { MeasurementSession measurement = checkResult.getMeasurementSession(); for (CheckResult result : checkResult.getResults()) { sb.append(measurement.getHostName()).append('|') .append(measurement.getInstanceName()).append('|') .append(result.getStatus()).append('|') .append(result.getFailingExpression()).append('|') .append(result.getCurrentValue()).append("\n"); } } } return sb.toString(); } }
private String getGraphitePrefix(MeasurementSession measurementSession) { return name("stagemonitor", sanitizeGraphiteMetricSegment(measurementSession.getApplicationName()), sanitizeGraphiteMetricSegment(measurementSession.getInstanceName()), sanitizeGraphiteMetricSegment(measurementSession.getHostName())); }
boolean containsTestHost2 = false; for (CheckResults checkResults : storedIncident.getCheckResults()) { if (checkResults.getMeasurementSession().getHostName().equals("testHost2")) { containsTestHost2 = true; } else if (checkResults.getMeasurementSession().getHostName().equals("testHost")) { containsTestHost = true;
@Override public void onStart(SpanWrapper spanWrapper) { if (corePlugin.isStagemonitorActive()) { final MeasurementSession measurementSession = corePlugin.getMeasurementSession(); if (measurementSession != null) { addToMdcIfNotNull("application", measurementSession.getApplicationName()); addToMdcIfNotNull("host", measurementSession.getHostName()); addToMdcIfNotNull("instance", measurementSession.getInstanceName()); } // don't store the context in MDC if stagemonitor is not active // so that thread pools that get created on startup don't inherit the ids if (Stagemonitor.isStarted()) { tracingPlugin.getTracer().inject(spanWrapper.context(), B3HeaderFormat.INSTANCE, new B3HeaderFormat.B3InjectAdapter() { @Override public void setParentId(String value) { } @Override public void setSpanId(String value) { addToMdcIfNotNull("spanId", value); } @Override public void setTraceId(String value) { addToMdcIfNotNull("traceId", value); } }); } } }
@Test public void testToJson() throws Exception { MeasurementSession measurementSession = new MeasurementSession("app", "host", "instance"); final MeasurementSession jsonSession = JsonUtils.getMapper().readValue(JsonUtils.toJson(measurementSession), MeasurementSession.class); assertEquals(measurementSession.getApplicationName(), jsonSession.getApplicationName()); assertEquals(measurementSession.getHostName(), jsonSession.getHostName()); assertEquals(measurementSession.getInstanceName(), jsonSession.getInstanceName()); assertEquals(measurementSession.getInstanceName(), jsonSession.getInstanceName()); assertEquals(measurementSession.getId(), jsonSession.getId()); assertEquals(measurementSession.getStart(), jsonSession.getStart()); } }
public RequestTrace(String requestId, MeasurementSession measurementSession, RequestMonitorPlugin requestMonitorPlugin) { this.requestMonitorPlugin = requestMonitorPlugin; this.id = requestId != null ? requestId : UUID.randomUUID().toString(); this.measurementStart = measurementSession.getStartTimestamp(); this.application = measurementSession.getApplicationName(); this.host = measurementSession.getHostName(); this.instance = measurementSession.getInstanceName(); this.timestamp = StringUtils.dateAsIsoString(new Date()); }
@Override public void requestInitialized(ServletRequestEvent sre) { if (corePlugin.isStagemonitorActive()) { final MeasurementSession measurementSession = corePlugin.getMeasurementSession(); if (measurementSession.getApplicationName() != null) { MDC.put("application", measurementSession.getApplicationName()); } if (measurementSession.getHostName() != null) { MDC.put("host", measurementSession.getHostName()); } String instanceName = measurementSession.getInstanceName(); if (instanceName == null) { instanceName = sre.getServletRequest().getServerName(); } MDC.put("instance", instanceName); final String requestId = UUID.randomUUID().toString(); sre.getServletRequest().setAttribute(STAGEMONITOR_REQUEST_ID_ATTR, requestId); if (Stagemonitor.isStarted()) { // don't store the requestId in MDC if stagemonitor is not active // so that thread pools that get created on startup don't inherit the requestId MDC.put("requestId", requestId); } } }
private synchronized void getInstanceNameFromExecution(MonitoredRequest<?> monitoredRequest) { final MeasurementSession measurementSession = Stagemonitor.getMeasurementSession(); if (measurementSession.getInstanceName() == null) { MeasurementSession session = new MeasurementSession(measurementSession.getApplicationName(), measurementSession.getHostName(), monitoredRequest.getInstanceName()); Stagemonitor.setMeasurementSession(session); } }