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

bug(core) fixed strace request #162

Merged
merged 1 commit into from
Dec 14, 2018
Merged
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
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,8 @@ public void updateMonitoringMicroservices(JsonObject diagnosticData) {
JsonArray straceMicroserviceChanges = diagnosticData.getJsonArray("straceValues");
for (JsonValue microserviceValue : straceMicroserviceChanges) {
JsonObject microservice = (JsonObject) microserviceValue;
if (microservice.containsKey("microserviceId")) {
String microserviceUuid = microservice.getString("microserviceId");
if (microservice.containsKey("microserviceUuid")) {
String microserviceUuid = microservice.getString("microserviceUuid");
boolean strace = microservice.getInt("straceRun", 0) != 0;
manageMicroservice(microserviceUuid, strace);
}
Expand Down
16 changes: 12 additions & 4 deletions daemon/src/org/eclipse/iofog/field_agent/FieldAgent.java
Original file line number Diff line number Diff line change
Expand Up @@ -189,12 +189,20 @@ private boolean notProvisioned() {
if (StraceDiagnosticManger.getInstance().getMonitoringMicroservices().size() > 0) {
JsonObjectBuilder builder = Json.createObjectBuilder();

JsonArrayBuilder arrayBuilder = Json.createArrayBuilder();

for (MicroserviceStraceData microservice : StraceDiagnosticManger.getInstance().getMonitoringMicroservices()) {
builder.add(microservice.getMicroserviceUuid(), microservice.getResultBufferAsString());
JsonObjectBuilder straceBuilder = Json.createObjectBuilder();

straceBuilder.add("microserviceUuid", microservice.getMicroserviceUuid());
straceBuilder.add("buffer", microservice.getResultBufferAsString());

microservice.getResultBuffer().clear();

arrayBuilder.add(straceBuilder.build());
}

builder.add("timestamp", new Date().getTime());
builder.add("straceData", arrayBuilder.build());
JsonObject json = builder.build();

try {
Expand Down Expand Up @@ -449,14 +457,14 @@ private void processRoutes(List<Microservice> microservices) {
continue;
}

String microserviceId = microservice.getMicroserviceUuid();
String microserviceUuid = microservice.getMicroserviceUuid();
Route microserviceRoute = new Route();

for (String jsonRoute : jsonRoutes) {
microserviceRoute.getReceivers().add(jsonRoute);
}

routes.put(microserviceId, microserviceRoute);
routes.put(microserviceUuid, microserviceRoute);
}

microserviceManager.setRoutes(routes);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,16 +118,16 @@ public Optional<Microservice> findLatestMicroserviceByUuid(String microserviceUu
}
}

public boolean microserviceExists(List<Microservice> microservices, String microserviceId) {
return findMicroserviceByUuid(microservices, microserviceId).isPresent();
public boolean microserviceExists(List<Microservice> microservices, String microserviceUuid) {
return findMicroserviceByUuid(microservices, microserviceUuid).isPresent();
}

/***
* not thread safe for Microservice obj properties
*/
private Optional<Microservice> findMicroserviceByUuid(List<Microservice> microservices, String microserviceId) {
private Optional<Microservice> findMicroserviceByUuid(List<Microservice> microservices, String microserviceUuid) {
return microservices.stream()
.filter(microservice -> microservice.getMicroserviceUuid().equals(microserviceId))
.filter(microservice -> microservice.getMicroserviceUuid().equals(microserviceUuid))
.findAny();
}

Expand Down