@Override public String buildQuery(String metricsAccountName, CanaryConfig canaryConfig, CanaryMetricConfig canaryMetricConfig, CanaryScope canaryScope) throws IOException { GraphiteCanaryMetricSetQueryConfig queryConfig = (GraphiteCanaryMetricSetQueryConfig) canaryMetricConfig.getQuery(); String query = queryConfig.getMetricName(); if (!Strings.isNullOrEmpty(canaryScope.getScope())) { query = query.replace(SCOPE_VARIABLE, canaryScope.getScope()); } if (!Strings.isNullOrEmpty(canaryScope.getLocation())) { query = query.replace(LOCATION_VARIABLE, canaryScope.getLocation()); } log.debug("Query sent to graphite: {}.", query); return query; }
@Override public CanaryScope buildCanaryScope(CanaryScope canaryScope) { SignalFxCanaryScope signalFxCanaryScope = new SignalFxCanaryScope(); signalFxCanaryScope.setScope(canaryScope.getScope()); signalFxCanaryScope.setLocation(canaryScope.getLocation()); signalFxCanaryScope.setStart(canaryScope.getStart()); signalFxCanaryScope.setEnd(canaryScope.getEnd()); signalFxCanaryScope.setStep(canaryScope.getStep()); Optional.ofNullable(canaryScope.getExtendedScopeParams()).ifPresent(extendedParameters -> { signalFxCanaryScope.setScopeKey(extendedParameters.getOrDefault(SCOPE_KEY_KEY, null)); signalFxCanaryScope.setLocationKey(extendedParameters.getOrDefault(LOCATION_KEY_KEY, null)); signalFxCanaryScope.setExtendedScopeParams(extendedParameters); }); return signalFxCanaryScope; } }
StackdriverCanaryScope stackdriverCanaryScope = new StackdriverCanaryScope(); stackdriverCanaryScope.setScope(canaryScope.getScope()); stackdriverCanaryScope.setLocation(canaryScope.getLocation()); stackdriverCanaryScope.setStart(canaryScope.getStart()); stackdriverCanaryScope.setEnd(canaryScope.getEnd());
@Override public CanaryScope buildCanaryScope(CanaryScope canaryScope){ AtlasCanaryScope atlasCanaryScope = new AtlasCanaryScope(); atlasCanaryScope.setScope(canaryScope.getScope()); atlasCanaryScope.setLocation(canaryScope.getLocation()); atlasCanaryScope.setStart(canaryScope.getStart()); atlasCanaryScope.setEnd(canaryScope.getEnd()); atlasCanaryScope.setStep(canaryScope.getStep()); atlasCanaryScope.setExtendedScopeParams(canaryScope.getExtendedScopeParams()); Map<String, String> extendedScopeParams = atlasCanaryScope.getExtendedScopeParams(); if (extendedScopeParams == null) { extendedScopeParams = Collections.emptyMap(); } atlasCanaryScope.setType(extendedScopeParams.getOrDefault("type", "cluster")); atlasCanaryScope.setDeployment(extendedScopeParams.getOrDefault("deployment", "main")); atlasCanaryScope.setDataset(extendedScopeParams.getOrDefault("dataset", "regional")); atlasCanaryScope.setEnvironment(extendedScopeParams.getOrDefault("environment", "test")); return atlasCanaryScope; } }
@Override public CanaryScope buildCanaryScope(CanaryScope canaryScope){ PrometheusCanaryScope prometheusCanaryScope = new PrometheusCanaryScope(); prometheusCanaryScope.setScope(canaryScope.getScope()); prometheusCanaryScope.setLocation(canaryScope.getLocation()); prometheusCanaryScope.setStart(canaryScope.getStart()); prometheusCanaryScope.setEnd(canaryScope.getEnd()); prometheusCanaryScope.setStep(canaryScope.getStep()); prometheusCanaryScope.setExtendedScopeParams(canaryScope.getExtendedScopeParams()); Map<String, String> extendedScopeParams = prometheusCanaryScope.getExtendedScopeParams(); if (extendedScopeParams != null) { if (extendedScopeParams.containsKey("project")) { prometheusCanaryScope.setProject(extendedScopeParams.get("project")); } if (extendedScopeParams.containsKey("resourceType")) { prometheusCanaryScope.setResourceType(extendedScopeParams.get("resourceType")); } } return prometheusCanaryScope; } }
@Override public String buildQuery(String metricsAccountName, CanaryConfig canaryConfig, CanaryMetricConfig canaryMetricConfig, CanaryScope canaryScope) throws IOException { GraphiteCanaryMetricSetQueryConfig queryConfig = (GraphiteCanaryMetricSetQueryConfig) canaryMetricConfig.getQuery(); String query = queryConfig.getMetricName(); if (!Strings.isNullOrEmpty(canaryScope.getScope())) { query = query.replace(SCOPE_VARIABLE, canaryScope.getScope()); } if (!Strings.isNullOrEmpty(canaryScope.getLocation())) { query = query.replace(LOCATION_VARIABLE, canaryScope.getLocation()); } log.debug("Query sent to graphite: {}.", query); return query; }
@Override public CanaryScope buildCanaryScope(CanaryScope canaryScope) { SignalFxCanaryScope signalFxCanaryScope = new SignalFxCanaryScope(); signalFxCanaryScope.setScope(canaryScope.getScope()); signalFxCanaryScope.setLocation(canaryScope.getLocation()); signalFxCanaryScope.setStart(canaryScope.getStart()); signalFxCanaryScope.setEnd(canaryScope.getEnd()); signalFxCanaryScope.setStep(canaryScope.getStep()); Optional.ofNullable(canaryScope.getExtendedScopeParams()).ifPresent(extendedParameters -> { signalFxCanaryScope.setScopeKey(extendedParameters.getOrDefault(SCOPE_KEY_KEY, null)); signalFxCanaryScope.setLocationKey(extendedParameters.getOrDefault(LOCATION_KEY_KEY, null)); signalFxCanaryScope.setExtendedScopeParams(extendedParameters); }); return signalFxCanaryScope; } }
StackdriverCanaryScope stackdriverCanaryScope = new StackdriverCanaryScope(); stackdriverCanaryScope.setScope(canaryScope.getScope()); stackdriverCanaryScope.setLocation(canaryScope.getLocation()); stackdriverCanaryScope.setStart(canaryScope.getStart()); stackdriverCanaryScope.setEnd(canaryScope.getEnd());
@Override public CanaryScope buildCanaryScope(CanaryScope canaryScope){ PrometheusCanaryScope prometheusCanaryScope = new PrometheusCanaryScope(); prometheusCanaryScope.setScope(canaryScope.getScope()); prometheusCanaryScope.setLocation(canaryScope.getLocation()); prometheusCanaryScope.setStart(canaryScope.getStart()); prometheusCanaryScope.setEnd(canaryScope.getEnd()); prometheusCanaryScope.setStep(canaryScope.getStep()); prometheusCanaryScope.setExtendedScopeParams(canaryScope.getExtendedScopeParams()); Map<String, String> extendedScopeParams = prometheusCanaryScope.getExtendedScopeParams(); if (extendedScopeParams != null) { if (extendedScopeParams.containsKey("project")) { prometheusCanaryScope.setProject(extendedScopeParams.get("project")); } if (extendedScopeParams.containsKey("resourceType")) { prometheusCanaryScope.setResourceType(extendedScopeParams.get("resourceType")); } } return prometheusCanaryScope; } }
@Override public CanaryScope buildCanaryScope(CanaryScope canaryScope){ AtlasCanaryScope atlasCanaryScope = new AtlasCanaryScope(); atlasCanaryScope.setScope(canaryScope.getScope()); atlasCanaryScope.setLocation(canaryScope.getLocation()); atlasCanaryScope.setStart(canaryScope.getStart()); atlasCanaryScope.setEnd(canaryScope.getEnd()); atlasCanaryScope.setStep(canaryScope.getStep()); atlasCanaryScope.setExtendedScopeParams(canaryScope.getExtendedScopeParams()); Map<String, String> extendedScopeParams = atlasCanaryScope.getExtendedScopeParams(); if (extendedScopeParams == null) { extendedScopeParams = Collections.emptyMap(); } atlasCanaryScope.setType(extendedScopeParams.getOrDefault("type", "cluster")); atlasCanaryScope.setDeployment(extendedScopeParams.getOrDefault("deployment", "main")); atlasCanaryScope.setDataset(extendedScopeParams.getOrDefault("dataset", "regional")); atlasCanaryScope.setEnvironment(extendedScopeParams.getOrDefault("environment", "test")); return atlasCanaryScope; } }
@Override public CanaryScope buildCanaryScope(CanaryScope scope) { WavefrontCanaryScope wavefrontCanaryScope = new WavefrontCanaryScope(); wavefrontCanaryScope.setScope(scope.getScope()); wavefrontCanaryScope.setLocation(scope.getLocation()); wavefrontCanaryScope.setStart(scope.getStart()); wavefrontCanaryScope.setEnd(scope.getEnd()); wavefrontCanaryScope.setStep(scope.getStep()); wavefrontCanaryScope.setGranularity(generateGranularity(scope.getStep())); wavefrontCanaryScope.setExtendedScopeParams(scope.getExtendedScopeParams()); return wavefrontCanaryScope; }