diff --git a/include/proto/trace.h b/include/proto/trace.h
index 24d2601..6767952 100644
--- a/include/proto/trace.h
+++ b/include/proto/trace.h
@@ -34,6 +34,8 @@
 extern struct list trace_sources;
 extern THREAD_LOCAL struct buffer trace_buf;
 
+void __trace(uint64_t mask, struct trace_source *src, const struct ist msg);
+
 /* return a single char to describe a trace state */
 static inline char trace_state_char(enum trace_state st)
 {
@@ -63,6 +65,13 @@
 	LIST_ADDQ(&trace_sources, &source->source_link);
 }
 
+/* sends a trace for the given source */
+static inline void trace(uint64_t mask, struct trace_source *src, const struct ist msg)
+{
+	if (unlikely(src->state != TRACE_STATE_STOPPED))
+		__trace(mask, src, msg);
+}
+
 #endif /* _PROTO_TRACE_H */
 
 /*
diff --git a/src/trace.c b/src/trace.c
index 8691b65..4f6a913 100644
--- a/src/trace.c
+++ b/src/trace.c
@@ -48,6 +48,46 @@
 REGISTER_PER_THREAD_ALLOC(alloc_trace_buffers_per_thread);
 REGISTER_PER_THREAD_FREE(free_trace_buffers_per_thread);
 
+/* write a message for the given trace source */
+void __trace(uint64_t mask, struct trace_source *src, const struct ist msg)
+{
+	if (likely(src->state == TRACE_STATE_STOPPED))
+		return;
+
+	/* check that at least one action is interested by this event */
+	if (((src->report_events | src->start_events | src->pause_events | src->stop_events) & mask) == 0)
+		return;
+
+	/* TODO: add handling of filters here, return if no match (not even update states) */
+
+	/* check if we need to start the trace now */
+	if (src->state == TRACE_STATE_WAITING) {
+		if ((src->start_events & mask) == 0)
+			return;
+
+		/* TODO: add update of lockon+lockon_ptr here */
+		HA_ATOMIC_STORE(&src->state, TRACE_STATE_RUNNING);
+	}
+
+	/* TODO: add check of lockon+lockon_ptr here, return if no match */
+	/* here the trace is running and is tracking a desired item */
+
+	if ((src->report_events & mask) == 0)
+		goto end;
+
+	if (src->sink)
+		sink_write(src->sink, &msg, 1);
+
+ end:
+	/* check if we need to stop the trace now */
+	if ((src->stop_events & mask) != 0) {
+		HA_ATOMIC_STORE(&src->state, TRACE_STATE_STOPPED);
+	}
+	else if ((src->pause_events & mask) != 0) {
+		HA_ATOMIC_STORE(&src->state, TRACE_STATE_WAITING);
+	}
+}
+
 struct trace_source *trace_find_source(const char *name)
 {
 	struct trace_source *src;
