/* * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.facebook.presto.verifier; import com.google.common.collect.ImmutableList; import io.airlift.event.client.EventField; import io.airlift.event.client.EventType; import javax.annotation.concurrent.Immutable; import java.util.List; @Immutable @EventType("VerifierQuery") public class VerifierQueryEvent { private final String suite; private final String runId; private final String source; private final String name; private final boolean failed; private final String testCatalog; private final String testSchema; private final List<String> testSetupQueries; private final String testQuery; private final List<String> testTeardownQueries; private final String testQueryId; private final Double testCpuTimeSecs; private final Double testWallTimeSecs; private final String controlCatalog; private final String controlSchema; private final List<String> controlSetupQueries; private final String controlQuery; private final List<String> controlTeardownQueries; private final String controlQueryId; private final Double controlCpuTimeSecs; private final Double controlWallTimeSecs; private final String errorMessage; public VerifierQueryEvent( String suite, String runId, String source, String name, boolean failed, String testCatalog, String testSchema, List<String> testSetupQueries, String testQuery, List<String> testTeardownQueries, String testQueryId, Double testCpuTimeSecs, Double testWallTimeSecs, String controlCatalog, String controlSchema, List<String> controlSetupQueries, String controlQuery, List<String> controlTeardownQueries, String controlQueryId, Double controlCpuTimeSecs, Double controlWallTimeSecs, String errorMessage) { this.suite = suite; this.runId = runId; this.source = source; this.name = name; this.failed = failed; this.testCatalog = testCatalog; this.testSchema = testSchema; this.testSetupQueries = ImmutableList.copyOf(testSetupQueries); this.testQuery = testQuery; this.testTeardownQueries = ImmutableList.copyOf(testTeardownQueries); this.testQueryId = testQueryId; this.testCpuTimeSecs = testCpuTimeSecs; this.testWallTimeSecs = testWallTimeSecs; this.controlCatalog = controlCatalog; this.controlSchema = controlSchema; this.controlSetupQueries = ImmutableList.copyOf(controlSetupQueries); this.controlQuery = controlQuery; this.controlTeardownQueries = ImmutableList.copyOf(controlTeardownQueries); this.controlQueryId = controlQueryId; this.controlCpuTimeSecs = controlCpuTimeSecs; this.controlWallTimeSecs = controlWallTimeSecs; this.errorMessage = errorMessage; } @EventField public String getSuite() { return suite; } @EventField public String getRunId() { return runId; } @EventField public String getSource() { return source; } @EventField public String getName() { return name; } @EventField public boolean isFailed() { return failed; } @EventField public String getTestCatalog() { return testCatalog; } @EventField public String getTestSchema() { return testSchema; } @EventField public String getTestQuery() { return testQuery; } @EventField public String getTestQueryId() { return testQueryId; } @EventField public Double getTestCpuTimeSecs() { return testCpuTimeSecs; } @EventField public Double getTestWallTimeSecs() { return testWallTimeSecs; } @EventField public String getControlCatalog() { return controlCatalog; } @EventField public String getControlSchema() { return controlSchema; } @EventField public String getControlQuery() { return controlQuery; } @EventField public String getControlQueryId() { return controlQueryId; } @EventField public Double getControlCpuTimeSecs() { return controlCpuTimeSecs; } @EventField public Double getControlWallTimeSecs() { return controlWallTimeSecs; } @EventField public String getErrorMessage() { return errorMessage; } @EventField public List<String> getTestSetupQueries() { return testSetupQueries; } @EventField public List<String> getTestTeardownQueries() { return testTeardownQueries; } @EventField public List<String> getControlSetupQueries() { return controlSetupQueries; } @EventField public List<String> getControlTeardownQueries() { return controlTeardownQueries; } }