Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

moved to new version of API #3

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions concourse.iml
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,15 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Maven: com.takipi:api-client:2.23.0" level="project" />
<orderEntry type="library" name="Maven: com.takipi:api-client:2.30.0" level="project" />
<orderEntry type="library" name="Maven: com.takipi:api-client-util:2.30.0" level="project" />
<orderEntry type="library" name="Maven: com.takipi:api-client:2.30.0" level="project" />
<orderEntry type="library" name="Maven: joda-time:joda-time:2.8.2" level="project" />
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.9" level="project" />
<orderEntry type="library" name="Maven: commons-io:commons-io:2.5" level="project" />
<orderEntry type="library" name="Maven: com.google.guava:guava:20.0" level="project" />
<orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.2" level="project" />
<orderEntry type="library" name="Maven: com.takipi:api-client-util:2.23.0" level="project" />
<orderEntry type="library" name="Maven: com.takipi:api-client-util:2.30.0" level="project" />
<orderEntry type="library" name="Maven: org.ocpsoft.prettytime:prettytime:4.0.2.Final" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.26" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:slf4j-log4j12:1.7.26" level="project" />
Expand Down
4 changes: 2 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>com.overops.plugins</groupId>
<artifactId>concourse</artifactId>
<version>1.0-SNAPSHOT</version>
<version>1.1.0</version>
<packaging>jar</packaging>

<name>OverOps plugin</name>
Expand All @@ -21,7 +21,7 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<fileName>concourse-overops</fileName>
<version.takipi>2.23.0</version.takipi>
<version.takipi>2.30.0</version.takipi>
<version.fasterxml>2.9.9</version.fasterxml>
</properties>

Expand Down
10 changes: 5 additions & 5 deletions src/main/java/com/overops/plugins/ConcoursePlugin.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,21 +15,17 @@

import java.util.Arrays;


public class ConcoursePlugin {
private Context context;

public static void run(String[] args) {
new ConcoursePlugin(args);
}

private ConcoursePlugin(String[] args) {
boolean status = true;
context = Context.getBuilder().setOutputStream(new AnsiWriter(System.err)).setObjectMapper(new ObjectMapper()).build();
OverOpsService overOpsService = new OverOpsServiceImpl(context);
try {
Step<String[], QueryOverOps> prepStep = new PreparationStep(context);
QueryOverOps query = prepStep.run(args);
context.getOutputStream().debugMode(query.isDebug());
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what exactly is this?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If debug turned on Concourse plugin will show addition comments in the terminal.
That corresponds property in Overops setup

if (query.isCheckVersion()) {
Step<QueryOverOps, Versions> checkVersionStep = new CheckStep(context, overOpsService);
Versions versions = checkVersionStep.run(query);
Expand All @@ -49,4 +45,8 @@ private ConcoursePlugin(String[] args) {
System.exit(status ? 0 : 1);
}

public static void run(String[] args) {
new ConcoursePlugin(args);
}

}
8 changes: 6 additions & 2 deletions src/main/java/com/overops/plugins/Context.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ public class Context {

private ObjectMapper objectMapper;

public static ContextBuilder getBuilder() {
return new Context().new ContextBuilder();
}

public OutputWriter getOutputStream() {
return outputStream;
}
Expand All @@ -18,8 +22,8 @@ public ObjectMapper getObjectMapper() {
return Optional.ofNullable(objectMapper).orElse(new ObjectMapper());
}

public static ContextBuilder getBuilder() {
return new Context().new ContextBuilder();
public void debugMode(boolean debug) {

}

public class ContextBuilder {
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/overops/plugins/Main.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package com.overops.plugins;


public class Main {
public static void main(String[] args) {
ConcoursePlugin.run(args);
}

}
65 changes: 65 additions & 0 deletions src/main/java/com/overops/plugins/model/Errors.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
package com.overops.plugins.model;

import com.takipi.api.client.util.cicd.OOReportEvent;

import java.util.List;

public class Errors {
private List<OOReportEvent> topErrors;
private List<OOReportEvent> resurfacedErrors;
private List<OOReportEvent> criticalErrors;
private List<OOReportEvent> newErrors;
private List<OOReportRegressedEvent> regressionErrors;

public Errors() {
}

public Errors(List<OOReportEvent> topErrors, List<OOReportEvent> resurfacedErrors, List<OOReportEvent> criticalErrors,
List<OOReportEvent> newErrors, List<OOReportRegressedEvent> regressionErrors) {
this.topErrors = topErrors;
this.resurfacedErrors = resurfacedErrors;
this.criticalErrors = criticalErrors;
this.newErrors = newErrors;
this.regressionErrors = regressionErrors;
}

public List<OOReportEvent> getTopErrors() {
return topErrors;
}

public void setTopErrors(List<OOReportEvent> topErrors) {
this.topErrors = topErrors;
}

public List<OOReportEvent> getResurfacedErrors() {
return resurfacedErrors;
}

public void setResurfacedErrors(List<OOReportEvent> resurfacedErrors) {
this.resurfacedErrors = resurfacedErrors;
}

public List<OOReportEvent> getCriticalErrors() {
return criticalErrors;
}

public void setCriticalErrors(List<OOReportEvent> criticalErrors) {
this.criticalErrors = criticalErrors;
}

public List<OOReportEvent> getNewErrors() {
return newErrors;
}

public void setNewErrors(List<OOReportEvent> newErrors) {
this.newErrors = newErrors;
}

public List<OOReportRegressedEvent> getRegressionErrors() {
return regressionErrors;
}

public void setRegressionErrors(List<OOReportRegressedEvent> regressionErrors) {
this.regressionErrors = regressionErrors;
}
}
4 changes: 2 additions & 2 deletions src/main/java/com/overops/plugins/model/Event.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Event {

private String eventId;

public Event() {
}

public Event(String eventId) {
this.eventId = eventId;
}

private String eventId;

public String getEventId() {
return eventId;
}
Expand Down
30 changes: 15 additions & 15 deletions src/main/java/com/overops/plugins/model/OOReportRegressedEvent.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,29 +4,29 @@
import com.takipi.api.client.util.cicd.OOReportEvent;
import com.takipi.api.client.util.regression.RegressionStringUtil;

public class OOReportRegressedEvent extends OOReportEvent{
public class OOReportRegressedEvent extends OOReportEvent {

private final long baselineHits;
private final long baselineInvocations;

private final long baselineHits;
private final long baselineInvocations;

public OOReportRegressedEvent(EventResult activeEvent, long baselineHits, long baselineInvocations, String type, String arcLink) {
super(activeEvent, type, arcLink);
this.baselineHits = baselineHits;
this.baselineInvocations = baselineInvocations;

super(activeEvent, type, arcLink);

this.baselineHits = baselineHits;
this.baselineInvocations = baselineInvocations;
}

@Override
public String getEventRate() {
return RegressionStringUtil.getRegressedEventRate(getEvent(), baselineHits, baselineInvocations);
}
return RegressionStringUtil.getRegressedEventRate(getEvent(), baselineHits, baselineInvocations);
}

public long getBaselineHits() {
return baselineHits;
}

public long getBaselineCalls() {
return baselineInvocations;
return baselineInvocations;
}
}
61 changes: 35 additions & 26 deletions src/main/java/com/overops/plugins/model/QueryOverOps.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,40 @@ public class QueryOverOps {
private Double regressionDelta = 0d;
private Double criticalRegressionDelta = 0d;
private boolean applySeasonality = false;
private long period = 0;

private boolean debug = false;

private boolean checkVersion = false;

public static QueryOverOps mapToObject(Map<String, String> params) {
QueryOverOps queryOverOps = new QueryOverOps();
queryOverOps.overOpsURL = params.get("overOpsURL");
queryOverOps.overOpsSID = params.get("overOpsSID");
queryOverOps.overOpsAPIKey = params.get("overOpsAPIKey");
queryOverOps.applicationName = params.get("applicationName");
queryOverOps.deploymentName = params.get("deploymentName");
queryOverOps.serviceId = params.getOrDefault("serviceId", queryOverOps.overOpsSID);
queryOverOps.regexFilter = params.getOrDefault("regexFilter", "");
queryOverOps.markUnstable = Boolean.parseBoolean(params.getOrDefault("markUnstable", "false"));
queryOverOps.printTopIssues = Integer.parseInt(params.getOrDefault("printTopIssues", "5"));
queryOverOps.newEvents = Boolean.parseBoolean(params.getOrDefault("newEvents", "false"));
queryOverOps.resurfacedErrors = Boolean.parseBoolean(params.getOrDefault("resurfacedErrors", "false"));
queryOverOps.maxErrorVolume = Integer.parseInt(params.getOrDefault("maxErrorVolume", "0"));
queryOverOps.maxUniqueErrors = Integer.parseInt(params.getOrDefault("maxUniqueErrors", "0"));
queryOverOps.criticalExceptionTypes = params.getOrDefault("criticalExceptionTypes", "");
queryOverOps.activeTimespan = params.getOrDefault("activeTimespan", "0");
queryOverOps.baselineTimespan = params.getOrDefault("baselineTimespan", "0");
queryOverOps.minVolumeThreshold = Integer.parseInt(params.getOrDefault("minVolumeThreshold", "0"));
queryOverOps.minErrorRateThreshold = Double.parseDouble(params.getOrDefault("minErrorRateThreshold", "0"));
queryOverOps.regressionDelta = Double.parseDouble(params.getOrDefault("regressionDelta", "0"));
queryOverOps.criticalRegressionDelta = Double.parseDouble(params.getOrDefault("criticalRegressionDelta", "0"));
queryOverOps.applySeasonality = Boolean.parseBoolean(params.getOrDefault("applySeasonality", "false"));
queryOverOps.debug = Boolean.parseBoolean(params.getOrDefault("debug", "false"));
queryOverOps.checkVersion = Boolean.parseBoolean(params.getOrDefault("checkVersion", "false"));
return queryOverOps;
}

public String getOverOpsURL() {
return overOpsURL;
}
Expand Down Expand Up @@ -214,32 +243,12 @@ public void setCheckVersion(boolean checkVersion) {
this.checkVersion = checkVersion;
}

public static QueryOverOps mapToObject(Map<String, String> params) {
QueryOverOps queryOverOps = new QueryOverOps();
queryOverOps.overOpsURL = params.get("overOpsURL");
queryOverOps.overOpsSID = params.get("overOpsSID");
queryOverOps.overOpsAPIKey = params.get("overOpsAPIKey");
queryOverOps.applicationName = params.get("applicationName");
queryOverOps.deploymentName = params.get("deploymentName");
queryOverOps.serviceId = params.getOrDefault("serviceId", queryOverOps.overOpsSID);
queryOverOps.regexFilter = params.getOrDefault("regexFilter", "");
queryOverOps.markUnstable = Boolean.parseBoolean(params.getOrDefault("markUnstable", "false"));
queryOverOps.printTopIssues = Integer.parseInt(params.getOrDefault("printTopIssues", "5"));
queryOverOps.newEvents = Boolean.parseBoolean(params.getOrDefault("newEvents", "false"));
queryOverOps.resurfacedErrors = Boolean.parseBoolean(params.getOrDefault("resurfacedErrors", "false"));
queryOverOps.maxErrorVolume = Integer.parseInt(params.getOrDefault("maxErrorVolume", "0"));
queryOverOps.maxUniqueErrors = Integer.parseInt(params.getOrDefault("maxUniqueErrors", "0"));
queryOverOps.criticalExceptionTypes = params.getOrDefault("criticalExceptionTypes", "");
queryOverOps.activeTimespan = params.getOrDefault("activeTimespan", "0");
queryOverOps.baselineTimespan = params.getOrDefault("baselineTimespan", "0");
queryOverOps.minVolumeThreshold = Integer.parseInt(params.getOrDefault("minVolumeThreshold", "0"));
queryOverOps.minErrorRateThreshold = Double.parseDouble(params.getOrDefault("minErrorRateThreshold", "0"));
queryOverOps.regressionDelta = Double.parseDouble(params.getOrDefault("regressionDelta", "0"));
queryOverOps.criticalRegressionDelta = Double.parseDouble(params.getOrDefault("criticalRegressionDelta", "0"));
queryOverOps.applySeasonality = Boolean.parseBoolean(params.getOrDefault("applySeasonality", "false"));
queryOverOps.debug = Boolean.parseBoolean(params.getOrDefault("debug", "false"));
queryOverOps.checkVersion = Boolean.parseBoolean(params.getOrDefault("checkVersion", "false"));
return queryOverOps;
public long getPeriod() {
return period;
}

public void setPeriod(long period) {
this.period = period;
}

@Override
Expand Down
7 changes: 3 additions & 4 deletions src/main/java/com/overops/plugins/model/Version.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,16 @@

public class Version {

private Event version;
private List<Metadata> metadata = new ArrayList<>();

public Version() {
}

public Version(Event version) {
this.version = version;
}

private Event version;

private List<Metadata> metadata = new ArrayList<>();

public Event getVersion() {
return version;
}
Expand Down
4 changes: 4 additions & 0 deletions src/main/java/com/overops/plugins/service/OutputWriter.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ public interface OutputWriter {

void success(String message);

void debug(String message);

void yellow(String message);

void print(String s, Ansi.Color color);
Expand All @@ -22,4 +24,6 @@ public interface OutputWriter {
void block(String s, Ansi.Color color, boolean closeLine);

void table(List<String> headers, List<OOReportEvent> body);

void debugMode(boolean debug);
}
Loading