Skip to content

Commit

Permalink
async send telemetry where makes sense
Browse files Browse the repository at this point in the history
Signed-off-by: Andre Dietisheim <[email protected]>
  • Loading branch information
adietish committed Jan 10, 2024
1 parent f887e65 commit 321fa86
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@

import java.util.regex.Pattern;

import static org.jboss.tools.intellij.openshift.telemetry.TelemetryService.*;
import static org.jboss.tools.intellij.openshift.telemetry.TelemetryService.TelemetryResult.ERROR;
import static org.jboss.tools.intellij.openshift.telemetry.TelemetryService.VALUE_ABORTED;

Expand All @@ -29,11 +30,11 @@ public class TelemetrySender implements TelemetryHandler {
private final TelemetryMessageBuilder.ActionMessage telemetry;

public TelemetrySender(String actionName) {
telemetry = TelemetryService.instance().getBuilder().action(actionName);
telemetry = instance().getBuilder().action(actionName);
}

@Override
public void sendTelemetryResults(TelemetryService.TelemetryResult result) {
public void sendTelemetryResults(TelemetryResult result) {
switch (result) {
case SUCCESS:
telemetry.success();
Expand All @@ -45,7 +46,7 @@ public void sendTelemetryResults(TelemetryService.TelemetryResult result) {
default:
break;
}
telemetry.send();
asyncSend(telemetry);
}

public void sendTelemetryError(String message) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import org.jboss.tools.intellij.openshift.KubernetesLabels;
import org.jboss.tools.intellij.openshift.telemetry.TelemetryService;
import org.jboss.tools.intellij.openshift.utils.Serialization;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
Expand Down Expand Up @@ -103,7 +102,10 @@
import static org.jboss.tools.intellij.openshift.Constants.PLUGIN_FOLDER;
import static org.jboss.tools.intellij.openshift.telemetry.TelemetryService.IS_OPENSHIFT;
import static org.jboss.tools.intellij.openshift.telemetry.TelemetryService.KUBERNETES_VERSION;
import static org.jboss.tools.intellij.openshift.telemetry.TelemetryService.NAME_PREFIX_MISC;
import static org.jboss.tools.intellij.openshift.telemetry.TelemetryService.OPENSHIFT_VERSION;
import static org.jboss.tools.intellij.openshift.telemetry.TelemetryService.asyncSend;
import static org.jboss.tools.intellij.openshift.telemetry.TelemetryService.instance;

public class OdoCli implements Odo {

Expand Down Expand Up @@ -192,21 +194,21 @@ private void computeTelemetrySettings() {
}

private void reportTelemetry() {
TelemetryMessageBuilder.ActionMessage telemetry = TelemetryService.instance().getBuilder().action(TelemetryService.NAME_PREFIX_MISC + "login");
TelemetryMessageBuilder.ActionMessage telemetry = instance().getBuilder().action(NAME_PREFIX_MISC + "login");
try {
ClusterInfo info = ClusterHelper.getClusterInfo(client);
telemetry.property(KUBERNETES_VERSION, info.getKubernetesVersion());
telemetry.property(IS_OPENSHIFT, Boolean.toString(info.isOpenshift()));
telemetry.property(OPENSHIFT_VERSION, info.getOpenshiftVersion());
telemetry.send();
asyncSend(telemetry);
} catch (RuntimeException e) {
// do not send telemetry when there is no context ( ie default kube URL as master URL )
try {
//workaround to not send null values
if (e.getMessage() != null) {
telemetry.error(e).send();
asyncSend(telemetry.error(e));
} else {
telemetry.error(e.toString()).send();
asyncSend(telemetry.error(e));
}
} catch (RuntimeException ex) {
LOGGER.warn(ex.getLocalizedMessage(), ex);
Expand Down

0 comments on commit 321fa86

Please sign in to comment.