/*
* 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.spi.eventlistener;
import java.time.Instant;
import java.util.Optional;
import static java.util.Objects.requireNonNull;
public class SplitCompletedEvent
{
private final String queryId;
private final String stageId;
private final String taskId;
private final Instant createTime;
private final Optional<Instant> startTime;
private final Optional<Instant> endTime;
private final SplitStatistics statistics;
private final Optional<SplitFailureInfo> failureInfo;
private final String payload;
public SplitCompletedEvent(
String queryId,
String stageId,
String taskId,
Instant createTime,
Optional<Instant> startTime,
Optional<Instant> endTime,
SplitStatistics statistics,
Optional<SplitFailureInfo> failureInfo,
String payload)
{
this.queryId = requireNonNull(queryId, "queryId is null");
this.stageId = requireNonNull(stageId, "stageId is null");
this.taskId = requireNonNull(taskId, "taskId is null");
this.createTime = requireNonNull(createTime, "createTime is null");
this.startTime = requireNonNull(startTime, "startTime is null");
this.endTime = requireNonNull(endTime, "endTime is null");
this.statistics = requireNonNull(statistics, "statistics is null");
this.failureInfo = requireNonNull(failureInfo, "failureInfo is null");
this.payload = requireNonNull(payload, "payload is null");
}
public String getQueryId()
{
return queryId;
}
public String getStageId()
{
return stageId;
}
public String getTaskId()
{
return taskId;
}
public Instant getCreateTime()
{
return createTime;
}
public Optional<Instant> getStartTime()
{
return startTime;
}
public Optional<Instant> getEndTime()
{
return endTime;
}
public SplitStatistics getStatistics()
{
return statistics;
}
public Optional<SplitFailureInfo> getFailureInfo()
{
return failureInfo;
}
public String getPayload()
{
return payload;
}
}