netatalk  4.5.0
Free and Open Source Apple Filing Protocol (AFP) Server
Loading...
Searching...
No Matches
afp_tcp_analytics.h
Go to the documentation of this file.
1#ifndef AFP_TCP_ANALYTICS_H
2#define AFP_TCP_ANALYTICS_H
3
4#include <stdint.h>
5#include <sys/types.h> /* for off_t */
6#include "afpclient.h" /* for CONN */
7
8/* Output format enumeration */
13
14/* TCP metrics structure */
35
36/* Session handle for tracking metrics across multiple tests */
37typedef struct {
38 TcpMetrics initial; /* Captured at session start */
39 TcpMetrics before; /* Captured before current test */
40 TcpMetrics after; /* Captured after current test */
41 TcpMetrics final; /* Captured at session end */
42 off_t current_size; /* Current test file size */
43 TcpOutputFormat format; /* TEXT or CSV */
44 int enable_session_tracking; /* For size sweep mode */
46
47/* API Functions */
49 int enable_session);
50int tcp_analytics_capture(CONN *conn, TcpMetrics *metrics);
53 off_t file_size);
56
57#endif /* AFP_TCP_ANALYTICS_H */
void tcp_analytics_init(TcpAnalyticsSession *session, TcpOutputFormat format, int enable_session)
Initialize TCP analytics session.
Definition afp_tcp_analytics.c:60
TcpOutputFormat
Definition afp_tcp_analytics.h:9
@ TCP_OUTPUT_TEXT
Definition afp_tcp_analytics.h:10
@ TCP_OUTPUT_CSV
Definition afp_tcp_analytics.h:11
int tcp_analytics_test_start(TcpAnalyticsSession *session, CONN *conn, off_t file_size)
Mark test start - capture "before" metrics.
Definition afp_tcp_analytics.c:271
int tcp_analytics_capture(CONN *conn, TcpMetrics *metrics)
Capture TCP metrics from connection socket via getsockopt().
Definition afp_tcp_analytics.c:72
int tcp_analytics_session_end(TcpAnalyticsSession *session, CONN *conn)
Mark session end - capture "final" metrics and print session summary.
Definition afp_tcp_analytics.c:755
int tcp_analytics_session_start(TcpAnalyticsSession *session, CONN *conn)
Mark session start - capture "initial" metrics for size sweep mode.
Definition afp_tcp_analytics.c:263
int tcp_analytics_test_end(TcpAnalyticsSession *session, CONN *conn)
Mark test end - capture "after" metrics and print per-test comparison.
Definition afp_tcp_analytics.c:451
int session(ATP atp, struct sockaddr_at *sat)
Definition session.c:49
Definition afpclient.h:176
Definition afp_tcp_analytics.h:37
TcpMetrics initial
Definition afp_tcp_analytics.h:38
TcpMetrics after
Definition afp_tcp_analytics.h:40
TcpOutputFormat format
Definition afp_tcp_analytics.h:43
TcpMetrics before
Definition afp_tcp_analytics.h:39
int enable_session_tracking
Definition afp_tcp_analytics.h:44
off_t current_size
Definition afp_tcp_analytics.h:42
Definition afp_tcp_analytics.h:15
int tcp_adv_mss
Definition afp_tcp_analytics.h:31
int tcp_lost
Definition afp_tcp_analytics.h:28
int tcp_total_retrans
Definition afp_tcp_analytics.h:26
int tcp_send_buffer
Definition afp_tcp_analytics.h:17
int tcp_mss
Definition afp_tcp_analytics.h:20
int tcp_recv_buffer
Definition afp_tcp_analytics.h:18
int tcp_congestion_window
Definition afp_tcp_analytics.h:21
int tcp_retrans
Definition afp_tcp_analytics.h:25
uint32_t tcp_rtt
Definition afp_tcp_analytics.h:23
int tcp_slow_start_threshold
Definition afp_tcp_analytics.h:22
uint32_t server_quantum
Definition afp_tcp_analytics.h:16
int is_localhost
Definition afp_tcp_analytics.h:33
int tcp_recv_space
Definition afp_tcp_analytics.h:32
int tcp_reordering
Definition afp_tcp_analytics.h:27
int tcp_send_mss
Definition afp_tcp_analytics.h:29
int tcp_send_window
Definition afp_tcp_analytics.h:19
uint32_t tcp_rtt_variance
Definition afp_tcp_analytics.h:24
int tcp_recv_mss
Definition afp_tcp_analytics.h:30