Skip to content
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
@@ -0,0 +1,37 @@
package io.split.telemetry.domain;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.concurrent.atomic.AtomicLong;
import java.util.stream.IntStream;

public class AtomicLongArray {
private AtomicLong[] array;

public AtomicLongArray(int size) throws Exception {
if(size == 0) {
throw new Exception("Invalid array size");
}
array = new AtomicLong[size];
IntStream.range(0, array.length).forEach(x -> array[x] = new AtomicLong());
}

public void increment(int index) {
if (index < 0 || index >= array.length) {
throw new ArrayIndexOutOfBoundsException();
}
array[index].getAndIncrement();
}

public List<Long> fetchAndClearAll() {
List<Long> listValues = new ArrayList<>();
for (AtomicLong a: array) {
listValues.add(a.longValue());
}

IntStream.range(0, array.length).forEach(x -> array[x] = new AtomicLong());

return listValues;
}
}
97 changes: 97 additions & 0 deletions client/src/main/java/io/split/telemetry/domain/HTTPErrors.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
package io.split.telemetry.domain;

import com.google.gson.annotations.SerializedName;

import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

public class HTTPErrors {
/* package private */ static final String FIELD_SPLIT = "sp";
/* package private */ static final String FIELD_SEGMENTS = "se";
/* package private */ static final String FIELD_IMPRESSIONS = "im";
/* package private */ static final String FIELD_IMPRESSIONS_COUNT = "ic";
/* package private */ static final String FIELD_EVENTS = "ev";
/* package private */ static final String FIELD_TOKEN = "to";
/* package private */ static final String FIELD_TELEMETRY = "te";

@SerializedName(FIELD_SPLIT)
private Map<Long, Long> _splits;
@SerializedName(FIELD_SEGMENTS)
private Map<Long, Long> _segments;
@SerializedName(FIELD_IMPRESSIONS)
private Map<Long, Long> _impressions;
@SerializedName(FIELD_IMPRESSIONS_COUNT)
private Map<Long, Long> _impressionsCount;
@SerializedName(FIELD_EVENTS)
private Map<Long, Long> _events;
@SerializedName(FIELD_TOKEN)
private Map<Long, Long> _token;
@SerializedName(FIELD_TELEMETRY)
private Map<Long, Long> _telemetry;

public HTTPErrors() {
_splits = new ConcurrentHashMap<>();
_segments = new ConcurrentHashMap<>();
_impressions = new ConcurrentHashMap<>();
_impressionsCount = new ConcurrentHashMap<>();
_events = new ConcurrentHashMap<>();
_token = new ConcurrentHashMap<>();
_telemetry = new ConcurrentHashMap<>();
}

public Map<Long, Long> get_splits() {
return _splits;
}

public void set_splits(Map<Long, Long> _splits) {
this._splits = _splits;
}

public Map<Long, Long> get_segments() {
return _segments;
}

public void set_segments(Map<Long, Long> _segments) {
this._segments = _segments;
}

public Map<Long, Long> get_impressions() {
return _impressions;
}

public void set_impressions(Map<Long, Long> _impressions) {
this._impressions = _impressions;
}

public Map<Long, Long> get_events() {
return _events;
}

public void set_events(Map<Long, Long> _events) {
this._events = _events;
}

public Map<Long, Long> get_token() {
return _token;
}

public void set_token(Map<Long, Long> _token) {
this._token = _token;
}

public Map<Long, Long> get_telemetry() {
return _telemetry;
}

public void set_telemetry(Map<Long, Long> _telemetry) {
this._telemetry = _telemetry;
}

public Map<Long, Long> get_impressionsCount() {
return _impressionsCount;
}

public void set_impressionsCount(Map<Long, Long> _impressionsCount) {
this._impressionsCount = _impressionsCount;
}
}
97 changes: 97 additions & 0 deletions client/src/main/java/io/split/telemetry/domain/HTTPLatencies.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
package io.split.telemetry.domain;

import com.google.gson.annotations.SerializedName;

import java.util.ArrayList;
import java.util.List;

public class HTTPLatencies {
/* package private */ static final String FIELD_SPLIT = "sp";
/* package private */ static final String FIELD_SEGMENTS = "se";
/* package private */ static final String FIELD_IMPRESSIONS = "im";
/* package private */ static final String FIELD_IMPRESSIONS_COUNT = "ic";
/* package private */ static final String FIELD_EVENTS = "ev";
/* package private */ static final String FIELD_TOKEN = "to";
/* package private */ static final String FIELD_TELEMETRY = "te";

@SerializedName(FIELD_SPLIT)
private List<Long> _splits;
@SerializedName(FIELD_SEGMENTS)
private List<Long>_segments;
@SerializedName(FIELD_IMPRESSIONS)
private List<Long> _impressions;
@SerializedName(FIELD_IMPRESSIONS_COUNT)
private List<Long> _impressionsCount;
@SerializedName(FIELD_EVENTS)
private List<Long> _events;
@SerializedName(FIELD_TOKEN)
private List<Long> _token;
@SerializedName(FIELD_TELEMETRY)
private List<Long> _telemetry;

public HTTPLatencies() {
_splits = new ArrayList<>();
_segments = new ArrayList<>();
_impressions = new ArrayList<>();
_impressionsCount = new ArrayList<>();
_events = new ArrayList<>();
_token = new ArrayList<>();
_telemetry = new ArrayList<>();
}

public List<Long> get_splits() {
return _splits;
}

public void set_splits(List<Long> _splits) {
this._splits = _splits;
}

public List<Long> get_segments() {
return _segments;
}

public void set_segments(List<Long> _segments) {
this._segments = _segments;
}

public List<Long> get_impressions() {
return _impressions;
}

public void set_impressions(List<Long> _impressions) {
this._impressions = _impressions;
}

public List<Long> get_events() {
return _events;
}

public void set_events(List<Long> _events) {
this._events = _events;
}

public List<Long> get_token() {
return _token;
}

public void set_token(List<Long> _token) {
this._token = _token;
}

public List<Long> get_telemetry() {
return _telemetry;
}

public void set_telemetry(List<Long> _telemetry) {
this._telemetry = _telemetry;
}

public List<Long> get_impressionsCount() {
return _impressionsCount;
}

public void set_impressionsCount(List<Long> _impressionsCount) {
this._impressionsCount = _impressionsCount;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
package io.split.telemetry.domain;

import com.google.gson.annotations.SerializedName;

public class LastSynchronization {
/* package private */ static final String FIELD_SPLIT = "sp";
/* package private */ static final String FIELD_SEGMENTS = "se";
/* package private */ static final String FIELD_IMPRESSIONS = "im";
/* package private */ static final String FIELD_IMPRESSIONS_COUNT = "ic";
/* package private */ static final String FIELD_EVENTS = "ev";
/* package private */ static final String FIELD_TOKEN = "to";
/* package private */ static final String FIELD_TELEMETRY = "te";

@SerializedName(FIELD_SPLIT)
private long _splits;
@SerializedName(FIELD_SEGMENTS)
private long _segments;
@SerializedName(FIELD_IMPRESSIONS)
private long _impressions;
@SerializedName(FIELD_IMPRESSIONS_COUNT)
private long _impressionsCount;
@SerializedName(FIELD_EVENTS)
private long _events;
@SerializedName(FIELD_TOKEN)
private long _token;
@SerializedName(FIELD_TELEMETRY)
private long _telemetry;

public long get_splits() {
return _splits;
}

public void set_splits(long _splits) {
this._splits = _splits;
}

public long get_segments() {
return _segments;
}

public void set_segments(long _segments) {
this._segments = _segments;
}

public long get_impressions() {
return _impressions;
}

public void set_impressions(long _impressions) {
this._impressions = _impressions;
}

public long get_events() {
return _events;
}

public void set_events(long _events) {
this._events = _events;
}

public long get_token() {
return _token;
}

public void set_token(long _token) {
this._token = _token;
}

public long get_telemetry() {
return _telemetry;
}

public void set_telemetry(long _telemetry) {
this._telemetry = _telemetry;
}

public long get_impressionsCount() {
return _impressionsCount;
}

public void set_impressionsCount(long _impressionsCount) {
this._impressionsCount = _impressionsCount;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
package io.split.telemetry.domain;

import com.google.gson.annotations.SerializedName;

public class MethodExceptions {
/* package private */ static final String FIELD_TREATMENT = "t";
/* package private */ static final String FIELD_TREATMENTS = "ts";
/* package private */ static final String FIELD_TREATMENT_WITH_CONFIG = "tc";
/* package private */ static final String FIELD_TREATMENTS_WITH_CONFIG = "tcs";
/* package private */ static final String FIELD_TRACK = "tr";

@SerializedName(FIELD_TREATMENT)
private long _treatment;
@SerializedName(FIELD_TREATMENTS)
private long _treatments;
@SerializedName(FIELD_TREATMENT_WITH_CONFIG)
private long _treatmentWithConfig;
@SerializedName(FIELD_TREATMENTS_WITH_CONFIG)
private long _treatmentsWithConfig;
@SerializedName(FIELD_TRACK)
private long _track;

public long get_treatment() {
return _treatment;
}

public void set_treatment(long _treatment) {
this._treatment = _treatment;
}

public long get_treatments() {
return _treatments;
}

public void set_treatments(long _treatments) {
this._treatments = _treatments;
}

public long get_treatmentsWithConfig() {
return _treatmentsWithConfig;
}

public void set_treatmentsWithConfig(long _treatmentsWithConfig) {
this._treatmentsWithConfig = _treatmentsWithConfig;
}

public long get_treatmentWithConfig() {
return _treatmentWithConfig;
}

public void set_treatmentWithConfig(long _treatmentWithConfig) {
this._treatmentWithConfig = _treatmentWithConfig;
}

public long get_track() {
return _track;
}

public void set_track(long _track) {
this._track = _track;
}
}
Loading