git-commit-vandalism/trace2/tr2_dst.h
Josh Steadmon 87db61a436 trace2: write discard message to sentinel files
Add a new "discard" event type for trace2 event destinations. When the
trace2 file count check creates a sentinel file, it will include the
normal trace2 output in the sentinel, along with this new discard
event.

Writing this message into the sentinel file is useful for tracking how
often the file count check triggers in practice.

Bump up the event format version since we've added a new event type.

Signed-off-by: Josh Steadmon <steadmon@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-10-05 17:53:51 +09:00

39 lines
857 B
C

#ifndef TR2_DST_H
#define TR2_DST_H
struct strbuf;
#include "trace2/tr2_sysenv.h"
struct tr2_dst {
enum tr2_sysenv_variable sysenv_var;
int fd;
unsigned int initialized : 1;
unsigned int need_close : 1;
unsigned int too_many_files : 1;
};
/*
* Disable TRACE2 on the destination. In TRACE2 a destination (DST)
* wraps a file descriptor; it is associated with a TARGET which
* defines the formatting.
*/
void tr2_dst_trace_disable(struct tr2_dst *dst);
/*
* Return the file descriptor for the DST.
* If 0, the dst is closed or disabled.
*/
int tr2_dst_get_trace_fd(struct tr2_dst *dst);
/*
* Return true if the DST is opened for writing.
*/
int tr2_dst_trace_want(struct tr2_dst *dst);
/*
* Write a single line/message to the trace file.
*/
void tr2_dst_write_line(struct tr2_dst *dst, struct strbuf *buf_line);
#endif /* TR2_DST_H */