mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-24 13:21:05 +00:00
Bug 1457472 - [1.1] Simplify telemetry snapshot API to reflect new implementation constraints. r=snorp,jchen
This commit is contained in:
parent
94bd85ef62
commit
9c403f8953
@ -6,15 +6,7 @@
|
|||||||
|
|
||||||
package org.mozilla.geckoview;
|
package org.mozilla.geckoview;
|
||||||
|
|
||||||
import java.lang.annotation.Retention;
|
|
||||||
import java.lang.annotation.RetentionPolicy;
|
|
||||||
|
|
||||||
import org.json.JSONException;
|
|
||||||
import org.json.JSONObject;
|
|
||||||
|
|
||||||
import android.support.annotation.IntDef;
|
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
import android.support.annotation.Nullable;
|
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import org.mozilla.gecko.EventDispatcher;
|
import org.mozilla.gecko.EventDispatcher;
|
||||||
@ -31,48 +23,6 @@ public final class RuntimeTelemetry {
|
|||||||
private final GeckoRuntime mRuntime;
|
private final GeckoRuntime mRuntime;
|
||||||
private final EventDispatcher mEventDispatcher;
|
private final EventDispatcher mEventDispatcher;
|
||||||
|
|
||||||
@Retention(RetentionPolicy.SOURCE)
|
|
||||||
@IntDef({ DATASET_BASE, DATASET_EXTENDED })
|
|
||||||
public @interface DatasetType {}
|
|
||||||
|
|
||||||
// Match with nsITelemetry.
|
|
||||||
/**
|
|
||||||
* The base dataset suitable for release builds.
|
|
||||||
*/
|
|
||||||
public static final int DATASET_BASE = 0;
|
|
||||||
/**
|
|
||||||
* The extended dataset suitable for pre-release builds.
|
|
||||||
*/
|
|
||||||
public static final int DATASET_EXTENDED = 1;
|
|
||||||
|
|
||||||
@IntDef(flag = true,
|
|
||||||
value = { SNAPSHOT_HISTOGRAMS, SNAPSHOT_KEYED_HISTOGRAMS,
|
|
||||||
SNAPSHOT_SCALARS, SNAPSHOT_KEYED_SCALARS,
|
|
||||||
SNAPSHOT_ALL })
|
|
||||||
public @interface SnapshotType {}
|
|
||||||
|
|
||||||
// Match with GeckoViewTelemetryController.
|
|
||||||
/**
|
|
||||||
* Adds a "histogram" object entry to the snapshot response.
|
|
||||||
*/
|
|
||||||
public static final int SNAPSHOT_HISTOGRAMS = 1 << 0;
|
|
||||||
/**
|
|
||||||
* Adds a "keyedHistogram" object entry to the snapshot response.
|
|
||||||
*/
|
|
||||||
public static final int SNAPSHOT_KEYED_HISTOGRAMS = 1 << 1;
|
|
||||||
/**
|
|
||||||
* Adds a "scalars" object entry to the snapshot response.
|
|
||||||
*/
|
|
||||||
public static final int SNAPSHOT_SCALARS = 1 << 2;
|
|
||||||
/**
|
|
||||||
* Adds a "keyedScalars" object entry to the snapshot response.
|
|
||||||
*/
|
|
||||||
public static final int SNAPSHOT_KEYED_SCALARS = 1 << 3;
|
|
||||||
/**
|
|
||||||
* Adds all snapshot types to the response.
|
|
||||||
*/
|
|
||||||
public static final int SNAPSHOT_ALL = (1 << 4) - 1;
|
|
||||||
|
|
||||||
/* package */ RuntimeTelemetry(final @NonNull GeckoRuntime runtime) {
|
/* package */ RuntimeTelemetry(final @NonNull GeckoRuntime runtime) {
|
||||||
mRuntime = runtime;
|
mRuntime = runtime;
|
||||||
mEventDispatcher = EventDispatcher.getInstance();
|
mEventDispatcher = EventDispatcher.getInstance();
|
||||||
@ -80,37 +30,21 @@ public final class RuntimeTelemetry {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieve all telemetry snapshots.
|
* Retrieve all telemetry snapshots.
|
||||||
|
* The response bundle will contain following snapshots:
|
||||||
|
* <ul>
|
||||||
|
* <li>histograms</li>
|
||||||
|
* <li>keyedHistograms</li>
|
||||||
|
* <li>scalars</li>
|
||||||
|
* <li>keyedScalars</li>
|
||||||
|
* </ul>
|
||||||
*
|
*
|
||||||
* @param dataset The dataset type to retreive.
|
|
||||||
* One of {@link #DATASET_BASE DATASET_*} flags.
|
|
||||||
* @param clear Whether the retrieved snapshots should be cleared.
|
* @param clear Whether the retrieved snapshots should be cleared.
|
||||||
* @param response Used to return the async response.
|
* @param response Used to return the async response.
|
||||||
*/
|
*/
|
||||||
public void getSnapshots(
|
public void getSnapshots(
|
||||||
final @DatasetType int dataset,
|
|
||||||
final boolean clear,
|
final boolean clear,
|
||||||
final @NonNull GeckoResponse<GeckoBundle> response) {
|
final @NonNull GeckoResponse<GeckoBundle> response) {
|
||||||
getSnapshots(SNAPSHOT_ALL, dataset, clear, response);
|
final GeckoBundle msg = new GeckoBundle(1);
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Retrieve the requested telemetry snapshots.
|
|
||||||
*
|
|
||||||
* @param types The requested snapshot types.
|
|
||||||
* One or more of {@link #SNAPSHOT_HISTOGRAMS SNAPSHOT_*} flags.
|
|
||||||
* @param dataset The dataset type to retreive.
|
|
||||||
* One of {@link #DATASET_BASE DATASET_*} flags.
|
|
||||||
* @param clear Whether the retrieved snapshots should be cleared.
|
|
||||||
* @param response Used to return the async response.
|
|
||||||
*/
|
|
||||||
public void getSnapshots(
|
|
||||||
final @SnapshotType int types,
|
|
||||||
final @DatasetType int dataset,
|
|
||||||
final boolean clear,
|
|
||||||
final @NonNull GeckoResponse<GeckoBundle> response) {
|
|
||||||
final GeckoBundle msg = new GeckoBundle(3);
|
|
||||||
msg.putInt("types", types);
|
|
||||||
msg.putInt("dataset", dataset);
|
|
||||||
msg.putBoolean("clear", clear);
|
msg.putBoolean("clear", clear);
|
||||||
|
|
||||||
mEventDispatcher.dispatch("GeckoView:TelemetrySnapshots", msg,
|
mEventDispatcher.dispatch("GeckoView:TelemetrySnapshots", msg,
|
||||||
|
Loading…
Reference in New Issue
Block a user