001/*
002 * jPOS Project [http://jpos.org]
003 * Copyright (C) 2000-2026 jPOS Software SRL
004 *
005 * This program is free software: you can redistribute it and/or modify
006 * it under the terms of the GNU Affero General Public License as
007 * published by the Free Software Foundation, either version 3 of the
008 * License, or (at your option) any later version.
009 *
010 * This program is distributed in the hope that it will be useful,
011 * but WITHOUT ANY WARRANTY; without even the implied warranty of
012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
013 * GNU Affero General Public License for more details.
014 *
015 * You should have received a copy of the GNU Affero General Public License
016 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
017 */
018
019package org.jpos.log.evt;
020
021import org.jpos.log.AuditLogEvent;
022
023import java.time.Duration;
024import java.time.Instant;
025import java.util.UUID;
026
027/**
028 * Represents the stopping log entry, marking the completion of a log instance (end of file/run).
029 *
030 * @param id      The unique identifier of the Q2 instance, corresponding to the {@link UUID} initialized at the
031 *                start of the process. This ID links the stop event directly with its corresponding start event.
032 * @param uptime The duration between the {@link Start} event and this {@link Stop} event for the specific log instance,
033 *                given as a {@link Duration}. This measures the total time taken for the event, providing insights into
034 *                performance and operational efficiency.
035 */
036public record Stop(UUID id, Duration uptime) implements AuditLogEvent { }