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

com.hubspot.chrome.devtools.client.core.tracing.TraceConfig Maven / Gradle / Ivy

package com.hubspot.chrome.devtools.client.core.tracing;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;

public final class TraceConfig {
  private String recordMode;

  private Boolean enableSampling;

  private Boolean enableSystrace;

  private Boolean enableArgumentFilter;

  private List includedCategories;

  private List excludedCategories;

  private List syntheticDelays;

  private MemoryDumpConfig memoryDumpConfig;

  @JsonCreator
  public TraceConfig(@JsonProperty("recordMode") String recordMode,
      @JsonProperty("enableSampling") Boolean enableSampling,
      @JsonProperty("enableSystrace") Boolean enableSystrace,
      @JsonProperty("enableArgumentFilter") Boolean enableArgumentFilter,
      @JsonProperty("includedCategories") List includedCategories,
      @JsonProperty("excludedCategories") List excludedCategories,
      @JsonProperty("syntheticDelays") List syntheticDelays,
      @JsonProperty("memoryDumpConfig") MemoryDumpConfig memoryDumpConfig) {
    this.recordMode = recordMode;
    this.enableSampling = enableSampling;
    this.enableSystrace = enableSystrace;
    this.enableArgumentFilter = enableArgumentFilter;
    this.includedCategories = includedCategories;
    this.excludedCategories = excludedCategories;
    this.syntheticDelays = syntheticDelays;
    this.memoryDumpConfig = memoryDumpConfig;
  }

  public String getRecordMode() {
    return recordMode;
  }

  public Boolean getEnableSampling() {
    return enableSampling;
  }

  public Boolean getEnableSystrace() {
    return enableSystrace;
  }

  public Boolean getEnableArgumentFilter() {
    return enableArgumentFilter;
  }

  public List getIncludedCategories() {
    return includedCategories;
  }

  public List getExcludedCategories() {
    return excludedCategories;
  }

  public List getSyntheticDelays() {
    return syntheticDelays;
  }

  public MemoryDumpConfig getMemoryDumpConfig() {
    return memoryDumpConfig;
  }

  public static TraceConfig.Builder builder() {
    return new TraceConfig.Builder();
  }

  public static final class Builder {
    private String recordMode;

    private Boolean enableSampling;

    private Boolean enableSystrace;

    private Boolean enableArgumentFilter;

    private List includedCategories;

    private List excludedCategories;

    private List syntheticDelays;

    private MemoryDumpConfig memoryDumpConfig;

    private Builder() {
    }

    public TraceConfig.Builder setRecordMode(String recordMode) {
      this.recordMode = recordMode;
      return this;
    }

    public TraceConfig.Builder setEnableSampling(Boolean enableSampling) {
      this.enableSampling = enableSampling;
      return this;
    }

    public TraceConfig.Builder setEnableSystrace(Boolean enableSystrace) {
      this.enableSystrace = enableSystrace;
      return this;
    }

    public TraceConfig.Builder setEnableArgumentFilter(Boolean enableArgumentFilter) {
      this.enableArgumentFilter = enableArgumentFilter;
      return this;
    }

    public TraceConfig.Builder setIncludedCategories(List includedCategories) {
      this.includedCategories = includedCategories;
      return this;
    }

    public TraceConfig.Builder setExcludedCategories(List excludedCategories) {
      this.excludedCategories = excludedCategories;
      return this;
    }

    public TraceConfig.Builder setSyntheticDelays(List syntheticDelays) {
      this.syntheticDelays = syntheticDelays;
      return this;
    }

    public TraceConfig.Builder setMemoryDumpConfig(MemoryDumpConfig memoryDumpConfig) {
      this.memoryDumpConfig = memoryDumpConfig;
      return this;
    }

    public TraceConfig build() {
      return new TraceConfig(recordMode, enableSampling, enableSystrace, enableArgumentFilter, includedCategories, excludedCategories, syntheticDelays, memoryDumpConfig);
    }
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy