Search in sources :

Example 6 with Metric

use of org.terasology.telemetry.metrics.Metric in project Terasology by MovingBlocks.

the class TelemetryScreen method refreshContent.

private void refreshContent() {
    ColumnLayout mainLayout = new ColumnLayout();
    mainLayout.setHorizontalSpacing(8);
    mainLayout.setVerticalSpacing(8);
    fetchTelemetryCategoriesFromEnvironment();
    for (Map.Entry<TelemetryCategory, Class> telemetryCategory : telemetryCategories.entrySet()) {
        Class metricClass = telemetryCategory.getValue();
        Optional<Metric> optional = metrics.getMetric(metricClass);
        if (optional.isPresent()) {
            Metric metric = optional.get();
            Map<String, ?> map = metric.createTelemetryFieldToValue();
            if (map != null) {
                addTelemetrySection(telemetryCategory.getKey(), mainLayout, map);
            }
        }
    }
    ScrollableArea area = find("area", ScrollableArea.class);
    if (area != null) {
        area.setContent(mainLayout);
    }
}
Also used : ScrollableArea(org.terasology.rendering.nui.layouts.ScrollableArea) ColumnLayout(org.terasology.rendering.nui.layouts.ColumnLayout) Metric(org.terasology.telemetry.metrics.Metric) Map(java.util.Map)

Example 7 with Metric

use of org.terasology.telemetry.metrics.Metric in project Terasology by MovingBlocks.

the class TelemetryUtils method fetchMetricAndSend.

/**
 * fetch metric in {@link org.terasology.telemetry.Metrics} and send to the server.
 * @param metrics Metrics class in the game context.
 * @param metricClass The class of metric.
 * @param emitter Emitter sending telemetry to the server.
 * @param nameSpace The name the class tracking this metric.
 * @param bindingMap the binding map contains fields who has user's permission.
 */
public static void fetchMetricAndSend(Metrics metrics, Class metricClass, Emitter emitter, String nameSpace, Map<String, Boolean> bindingMap) {
    Optional<Metric> optional = metrics.getMetric(metricClass);
    if (optional.isPresent()) {
        Metric metric = optional.get();
        Optional<Unstructured> unstructuredOptional = metric.getUnstructuredMetric();
        if (unstructuredOptional.isPresent()) {
            Unstructured unstructured = unstructuredOptional.get();
            trackMetric(emitter, nameSpace, unstructured, metric, bindingMap);
        }
    }
}
Also used : Unstructured(com.snowplowanalytics.snowplow.tracker.events.Unstructured) Metric(org.terasology.telemetry.metrics.Metric)

Aggregations

Metric (org.terasology.telemetry.metrics.Metric)7 Unstructured (com.snowplowanalytics.snowplow.tracker.events.Unstructured)2 Context (org.terasology.context.Context)2 Metrics (org.terasology.telemetry.Metrics)2 ModulesMetric (org.terasology.telemetry.metrics.ModulesMetric)2 SystemContextMetric (org.terasology.telemetry.metrics.SystemContextMetric)2 Emitter (com.snowplowanalytics.snowplow.tracker.emitter.Emitter)1 Constructor (java.lang.reflect.Constructor)1 InvocationTargetException (java.lang.reflect.InvocationTargetException)1 Map (java.util.Map)1 TelemetryConfiguration (org.terasology.config.facade.TelemetryConfiguration)1 ColumnLayout (org.terasology.rendering.nui.layouts.ColumnLayout)1 ScrollableArea (org.terasology.rendering.nui.layouts.ScrollableArea)1 BlockDestroyedMetric (org.terasology.telemetry.metrics.BlockDestroyedMetric)1 BlockPlacedMetric (org.terasology.telemetry.metrics.BlockPlacedMetric)1 CreatureKilledMetric (org.terasology.telemetry.metrics.CreatureKilledMetric)1 GameConfigurationMetric (org.terasology.telemetry.metrics.GameConfigurationMetric)1 GamePlayMetric (org.terasology.telemetry.metrics.GamePlayMetric)1