All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.eg.agent.android.harvest.HarvestConfiguration Maven / Gradle / Ivy

There is a newer version: 2.1.3
Show newest version
package com.eg.agent.android.harvest;

import com.eg.agent.android.activity.config.ActivityTraceConfiguration;

import java.util.Arrays;
import java.util.concurrent.TimeUnit;

public class HarvestConfiguration {
    private static final int DEFAULT_ACTIVITY_TRACE_LENGTH = 65534;
    private static final int DEFAULT_ACTIVITY_TRACE_MAX_REPORT_ATTEMPTS = 1;
    private static final float DEFAULT_ACTIVITY_TRACE_MIN_UTILIZATION = 0.3f;
    private static final int DEFAULT_ERROR_LIMIT = 50;
    private static final int DEFAULT_MAX_TRANSACTION_AGE = 600;
    private static final int DEFAULT_MAX_TRANSACTION_COUNT = 1000;
    private static final int DEFAULT_REPORT_PERIOD = 60;
    private static final int DEFAULT_RESPONSE_BODY_LIMIT = 2048;
    private static final int DEFAULT_STACK_TRACE_LIMIT = 100;
    private static HarvestConfiguration defaultHarvestConfiguration;
    private int activity_trace_max_report_attempts;
    private int activity_trace_max_size;
    private double activity_trace_min_utilization;
    private ActivityTraceConfiguration at_capture;
    private boolean collect_network_errors;
    private String cross_process_id;
    private int data_report_period;
    private int[] data_token;
    private int error_limit;
    private int report_max_transaction_age;
    private int report_max_transaction_count;
    private int response_body_limit;
    private long server_timestamp;
    private int stack_trace_limit;

    public HarvestConfiguration() {
        setDefaultValues();
    }

    public void setDefaultValues() {
        setData_token(new int[2]);
        setCollect_network_errors(true);
        setData_report_period(60);
        setError_limit(50);
        setResponse_body_limit(2048);
        setStack_trace_limit(100);
        setReport_max_transaction_age(DEFAULT_MAX_TRANSACTION_AGE);
        setReport_max_transaction_count(1000);
        setActivity_trace_max_size(DEFAULT_ACTIVITY_TRACE_LENGTH);
        setActivity_trace_max_report_attempts(1);
        setActivity_trace_min_utilization(0.30000001192092896d);
        setAt_capture(ActivityTraceConfiguration.defaultActivityTraceConfiguration());
    }

    public static HarvestConfiguration getDefaultHarvestConfiguration() {
        if (defaultHarvestConfiguration != null) {
            return defaultHarvestConfiguration;
        }
        defaultHarvestConfiguration = new HarvestConfiguration();
        return defaultHarvestConfiguration;
    }

    public void reconfigure(HarvestConfiguration configuration) {
        setCollect_network_errors(configuration.isCollect_network_errors());
        if (configuration.getCross_process_id() != null) {
            setCross_process_id(configuration.getCross_process_id());
        }
        setData_report_period(configuration.getData_report_period());
        if (configuration.getDataToken().isValid()) {
            setData_token(configuration.getData_token());
        }
        setError_limit(configuration.getError_limit());
        setReport_max_transaction_age(configuration.getReport_max_transaction_age());
        setReport_max_transaction_count(configuration.getReport_max_transaction_count());
        setResponse_body_limit(configuration.getResponse_body_limit());
        setServer_timestamp(configuration.getServer_timestamp());
        setStack_trace_limit(configuration.getStack_trace_limit());
        setActivity_trace_min_utilization(configuration.getActivity_trace_min_utilization());
        setActivity_trace_max_report_attempts(configuration.getActivity_trace_max_report_attempts());
        if (configuration.getAt_capture() != null) {
            setAt_capture(configuration.getAt_capture());
        }
    }

    public void setCollect_network_errors(boolean collect_network_errors) {
        this.collect_network_errors = collect_network_errors;
    }

    public void setCross_process_id(String cross_process_id) {
        this.cross_process_id = cross_process_id;
    }

    public void setData_report_period(int data_report_period) {
        this.data_report_period = data_report_period;
    }

    public void setData_token(int[] data_token) {
        this.data_token = data_token;
    }

    public DataToken getDataToken() {
        if (this.data_token == null) {
            return null;
        }
        return new DataToken(this.data_token[0], this.data_token[1]);
    }

    public void setError_limit(int error_limit) {
        this.error_limit = error_limit;
    }

    public void setReport_max_transaction_age(int report_max_transaction_age) {
        this.report_max_transaction_age = report_max_transaction_age;
    }

    public void setReport_max_transaction_count(int report_max_transaction_count) {
        this.report_max_transaction_count = report_max_transaction_count;
    }

    public void setResponse_body_limit(int response_body_limit) {
        this.response_body_limit = response_body_limit;
    }

    public void setServer_timestamp(long server_timestamp) {
        this.server_timestamp = server_timestamp;
    }

    public void setStack_trace_limit(int stack_trace_limit) {
        this.stack_trace_limit = stack_trace_limit;
    }

    public void setActivity_trace_max_size(int activity_trace_max_size) {
        this.activity_trace_max_size = activity_trace_max_size;
    }

    public void setActivity_trace_max_report_attempts(int activity_trace_max_report_attempts) {
        this.activity_trace_max_report_attempts = activity_trace_max_report_attempts;
    }

    public boolean isCollect_network_errors() {
        return this.collect_network_errors;
    }

    public String getCross_process_id() {
        return this.cross_process_id;
    }

    public int getData_report_period() {
        return this.data_report_period;
    }

    public int[] getData_token() {
        return this.data_token;
    }

    public int getError_limit() {
        return this.error_limit;
    }

    public int getReport_max_transaction_age() {
        return this.report_max_transaction_age;
    }

    public long getReportMaxTransactionAgeMilliseconds() {
        return TimeUnit.MILLISECONDS.convert((long) this.report_max_transaction_age, TimeUnit.SECONDS);
    }

    public int getReport_max_transaction_count() {
        return this.report_max_transaction_count;
    }

    public int getResponse_body_limit() {
        return this.response_body_limit;
    }

    public long getServer_timestamp() {
        return this.server_timestamp;
    }

    public int getStack_trace_limit() {
        return this.stack_trace_limit;
    }

    public int getActivity_trace_max_size() {
        return this.activity_trace_max_size;
    }

    public int getActivity_trace_max_report_attempts() {
        return this.activity_trace_max_report_attempts;
    }

    public ActivityTraceConfiguration getAt_capture() {
        return this.at_capture;
    }

    public void setAt_capture(ActivityTraceConfiguration at_capture) {
        this.at_capture = at_capture;
    }

    public double getActivity_trace_min_utilization() {
        return this.activity_trace_min_utilization;
    }

    public void setActivity_trace_min_utilization(double activity_trace_min_utilization) {
        this.activity_trace_min_utilization = activity_trace_min_utilization;
    }

    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        HarvestConfiguration that = (HarvestConfiguration) o;
        if (this.collect_network_errors != that.collect_network_errors || this.data_report_period != that.data_report_period || this.error_limit != that.error_limit || this.report_max_transaction_age != that.report_max_transaction_age || this.report_max_transaction_count != that.report_max_transaction_count || this.response_body_limit != that.response_body_limit || this.stack_trace_limit != that.stack_trace_limit || this.activity_trace_max_size != that.activity_trace_max_size || this.activity_trace_max_report_attempts != that.activity_trace_max_report_attempts) {
            return false;
        }
        if (this.cross_process_id == null && that.cross_process_id != null) {
            return false;
        }
        if (this.cross_process_id != null && that.cross_process_id == null) {
            return false;
        }
        if ((this.cross_process_id == null || this.cross_process_id.equals(that.cross_process_id)) && ((int) this.activity_trace_min_utilization) * 100 == ((int) that.activity_trace_min_utilization) * 100) {
            return Arrays.equals(this.data_token, that.data_token);
        }
        return false;
    }

    public int hashCode() {
        int result;
        int hashCode;
        int i = 0;
        if (this.collect_network_errors) {
            result = 1;
        } else {
            result = 0;
        }
        int i2 = result * 31;
        if (this.cross_process_id != null) {
            hashCode = this.cross_process_id.hashCode();
        } else {
            hashCode = 0;
        }
        i2 = (((i2 + hashCode) * 31) + this.data_report_period) * 31;
        if (this.data_token != null) {
            hashCode = Arrays.hashCode(this.data_token);
        } else {
            hashCode = 0;
        }
        result = ((((((((((((((i2 + hashCode) * 31) + this.error_limit) * 31) + this.report_max_transaction_age) * 31) + this.report_max_transaction_count) * 31) + this.response_body_limit) * 31) + this.stack_trace_limit) * 31) + this.activity_trace_max_size) * 31) + this.activity_trace_max_report_attempts;
        long temp = Double.doubleToLongBits(this.activity_trace_min_utilization);
        hashCode = ((result * 31) + ((int) ((temp >>> 32) ^ temp))) * 31;
        if (this.at_capture != null) {
            i = this.at_capture.hashCode();
        }
        return hashCode + i;
    }

    public String toString() {
        return "HarvestConfiguration{collect_network_errors=" + this.collect_network_errors + ", cross_process_id='" + this.cross_process_id + '\'' + ", data_report_period=" + this.data_report_period + ", data_token=" + Arrays.toString(this.data_token) + ", error_limit=" + this.error_limit + ", report_max_transaction_age=" + this.report_max_transaction_age + ", report_max_transaction_count=" + this.report_max_transaction_count + ", response_body_limit=" + this.response_body_limit + ", server_timestamp=" + this.server_timestamp + ", stack_trace_limit=" + this.stack_trace_limit + ", activity_trace_max_size=" + this.activity_trace_max_size + ", activity_trace_max_report_attempts=" + this.activity_trace_max_report_attempts + ", activity_trace_min_utilization=" + this.activity_trace_min_utilization + ", at_capture=" + this.at_capture + '}';
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy