Skip to content

Commit 8a6a0ce

Browse files
committed
generated default reference id for events
1 parent 3d7f1f7 commit 8a6a0ce

File tree

5 files changed

+61
-119
lines changed

5 files changed

+61
-119
lines changed

src/main/java/com/prashantchaubey/exceptionlessclient/ExceptionlessClient.java

Lines changed: 19 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
import java.time.LocalDate;
1616
import java.util.Timer;
1717
import java.util.TimerTask;
18-
import java.util.function.Consumer;
1918

2019
public class ExceptionlessClient {
2120
private static final int UPDATE_SETTINGS_TIMER_INITIAL_DELAY = 5000;
@@ -62,49 +61,47 @@ public static ExceptionlessClient from(String apiKey, String serverUrl) {
6261
.build();
6362
}
6463

65-
public void submitException(Exception exception, Consumer<EventPluginContext> handler) {
64+
public void submitException(Exception exception) {
6665
Event event = createException().build();
6766
PluginContext pluginContext = PluginContext.builder().exception(exception).build();
68-
submitEvent(EventPluginContext.builder().event(event).context(pluginContext).build(), handler);
67+
submitEvent(EventPluginContext.builder().event(event).context(pluginContext).build());
6968
}
7069

7170
private Event.EventBuilder createException() {
7271
return createEvent().type(EventType.ERROR.value());
7372
}
7473

75-
public void submitUnhandledException(
76-
Exception exception, String submissionMethod, Consumer<EventPluginContext> handler) {
74+
public void submitUnhandledException(Exception exception, String submissionMethod) {
7775
Event event = createException().build();
7876
PluginContext pluginContext =
7977
PluginContext.builder()
8078
.exception(exception)
8179
.unhandledError(true)
8280
.submissionMethod(submissionMethod)
8381
.build();
84-
submitEvent(EventPluginContext.builder().event(event).context(pluginContext).build(), handler);
82+
submitEvent(EventPluginContext.builder().event(event).context(pluginContext).build());
8583
}
8684

87-
public void submitFeatureUsage(String feature, Consumer<EventPluginContext> handler) {
85+
public void submitFeatureUsage(String feature) {
8886
Event event = createFeatureUsage(feature).build();
89-
submitEvent(EventPluginContext.from(event), handler);
87+
submitEvent(EventPluginContext.from(event));
9088
}
9189

9290
private Event.EventBuilder createFeatureUsage(String feature) {
9391
return createEvent().type(EventType.USAGE.value()).source(feature);
9492
}
9593

96-
public void submitLog(String message, Consumer<EventPluginContext> handler) {
97-
submitLog(message, null, null, handler);
94+
public void submitLog(String message) {
95+
submitLog(message, null, null);
9896
}
9997

100-
public void submitLog(String message, String source, Consumer<EventPluginContext> handler) {
101-
submitLog(message, source, null, handler);
98+
public void submitLog(String message, String source) {
99+
submitLog(message, source, null);
102100
}
103101

104-
public void submitLog(
105-
String message, String source, String level, Consumer<EventPluginContext> handler) {
102+
public void submitLog(String message, String source, String level) {
106103
Event event = createLog(message, source, level).build();
107-
submitEvent(EventPluginContext.from(event), handler);
104+
submitEvent(EventPluginContext.from(event));
108105
}
109106

110107
private Event.EventBuilder createLog(String message, String source, String level) {
@@ -122,18 +119,18 @@ private Event.EventBuilder createLog(String message, String source, String level
122119
return builder.property(EventPropertyKey.LOG_LEVEL.value(), level);
123120
}
124121

125-
public void submitNotFound(String resource, Consumer<EventPluginContext> handler) {
122+
public void submitNotFound(String resource) {
126123
Event event = createNotFound(resource).build();
127-
submitEvent(EventPluginContext.from(event), handler);
124+
submitEvent(EventPluginContext.from(event));
128125
}
129126

130127
private Event.EventBuilder createNotFound(String resource) {
131128
return createEvent().type(EventType.NOT_FOUND.value()).source(resource);
132129
}
133130

134-
public void submitSessionStart(Consumer<EventPluginContext> handler) {
131+
public void submitSessionStart() {
135132
Event event = createSessionStart().build();
136-
submitEvent(EventPluginContext.from(event), handler);
133+
submitEvent(EventPluginContext.from(event));
137134
}
138135

139136
private Event.EventBuilder createSessionStart() {
@@ -146,23 +143,9 @@ private Event.EventBuilder createEvent() {
146143
.date(LocalDate.now());
147144
}
148145

149-
//todo this should be async
150-
private void submitEvent(
151-
EventPluginContext eventPluginContext, Consumer<EventPluginContext> handler) {
152-
eventPluginRunner.run(
153-
eventPluginContext,
154-
evc -> {
155-
if (evc.getContext().isEventCancelled()) {
156-
return;
157-
}
158-
configurationManager.getQueue().enqueue(evc.getEvent());
159-
if (evc.getEvent().getReferenceId() != null) {
160-
configurationManager
161-
.getLastReferenceIdManager()
162-
.setLast(evc.getEvent().getReferenceId());
163-
}
164-
handler.accept(evc);
165-
});
146+
// todo this should be async
147+
private void submitEvent(EventPluginContext eventPluginContext) {
148+
eventPluginRunner.run(eventPluginContext);
166149
}
167150

168151
public void submitSessionEnd(String sessionOrUserId) {

src/main/java/com/prashantchaubey/exceptionlessclient/configuration/ConfigurationManager.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
import com.prashantchaubey.exceptionlessclient.models.enums.EventPropertyKey;
1111
import com.prashantchaubey.exceptionlessclient.plugins.EventPluginIF;
1212
import com.prashantchaubey.exceptionlessclient.plugins.preconfigured.HeartbeatPlugin;
13-
import com.prashantchaubey.exceptionlessclient.plugins.preconfigured.ReferenceIdPlugin;
1413
import com.prashantchaubey.exceptionlessclient.queue.DefaultEventQueue;
1514
import com.prashantchaubey.exceptionlessclient.queue.EventQueueIF;
1615
import com.prashantchaubey.exceptionlessclient.services.*;
@@ -214,10 +213,6 @@ public void useSessions(int heartbeatInterval) {
214213
addPlugin(HeartbeatPlugin.builder().heartbeatInterval(heartbeatInterval).build());
215214
}
216215

217-
public void useReferenceIds() {
218-
addPlugin(ReferenceIdPlugin.builder().build());
219-
}
220-
221216
public void onChanged(Consumer<ConfigurationManager> onChangedHandler) {
222217
onChangedHandlers.add(onChangedHandler);
223218
}

src/main/java/com/prashantchaubey/exceptionlessclient/models/Event.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,10 @@ public Event(
5353
this.message = message;
5454
this.geo = geo;
5555
this.value = value;
56-
this.referenceId = referenceId;
56+
this.referenceId =
57+
referenceId == null
58+
? String.format("%s-%s", Thread.currentThread().getId(), UUID.randomUUID())
59+
: referenceId;
5760
this.count = count;
5861
initData(data == null ? new HashMap<>() : data, dataExclusions);
5962
}

src/main/java/com/prashantchaubey/exceptionlessclient/plugins/EventPluginRunner.java

Lines changed: 38 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,6 @@
44
import com.prashantchaubey.exceptionlessclient.models.EventPluginContext;
55
import lombok.Builder;
66

7-
import java.util.List;
8-
import java.util.function.Consumer;
9-
107
public class EventPluginRunner {
118
private ConfigurationManager configurationManager;
129

@@ -15,48 +12,43 @@ public EventPluginRunner(ConfigurationManager configurationManager) {
1512
this.configurationManager = configurationManager;
1613
}
1714

18-
public void run(EventPluginContext eventPluginContext, Consumer<EventPluginContext> handler) {
19-
List<EventPluginIF> plugins = configurationManager.getPlugins();
20-
// Handler will run first
21-
plugins.add(
22-
0,
23-
new EventPluginIF() {
24-
@Override
25-
public int getPriority() {
26-
return Integer.MAX_VALUE;
27-
}
28-
29-
@Override
30-
public String getName() {
31-
return "handler";
32-
}
33-
34-
@Override
35-
public void run(
36-
EventPluginContext eventPluginContext, ConfigurationManager configurationManager) {
37-
handler.accept(eventPluginContext);
38-
}
39-
});
40-
41-
plugins.forEach(
42-
plugin -> {
43-
if (eventPluginContext.getContext().isEventCancelled()) {
44-
return;
45-
}
46-
47-
try {
48-
plugin.run(eventPluginContext, configurationManager);
49-
50-
} catch (Exception e) {
51-
configurationManager
52-
.getLog()
53-
.error(
54-
String.format(
55-
"Error running plugin: %s: %s. Discarding event",
56-
plugin.getName(), e.getMessage()),
57-
e);
58-
eventPluginContext.getContext().setEventCancelled(true);
59-
}
60-
});
15+
public void run(EventPluginContext eventPluginContext) {
16+
configurationManager
17+
.getPlugins()
18+
.forEach(
19+
plugin -> {
20+
if (eventPluginContext.getContext().isEventCancelled()) {
21+
return;
22+
}
23+
24+
try {
25+
plugin.run(eventPluginContext, configurationManager);
26+
27+
} catch (Exception e) {
28+
configurationManager
29+
.getLog()
30+
.error(
31+
String.format(
32+
"Error running plugin: %s: %s. Discarding event",
33+
plugin.getName(), e.getMessage()),
34+
e);
35+
eventPluginContext.getContext().setEventCancelled(true);
36+
}
37+
});
38+
39+
if (eventPluginContext.getContext().isEventCancelled()) {
40+
configurationManager
41+
.getLog()
42+
.info(
43+
String.format(
44+
"Event cancelled during plugin runs; Not submitting: %s",
45+
eventPluginContext.getEvent().getReferenceId()));
46+
return;
47+
}
48+
49+
configurationManager.getQueue().enqueue(eventPluginContext.getEvent());
50+
configurationManager
51+
.getLastReferenceIdManager()
52+
.setLast(eventPluginContext.getEvent().getReferenceId());
6153
}
6254
}

src/main/java/com/prashantchaubey/exceptionlessclient/plugins/preconfigured/ReferenceIdPlugin.java

Lines changed: 0 additions & 31 deletions
This file was deleted.

0 commit comments

Comments
 (0)