summaryrefslogtreecommitdiffstats
path: root/libstats
diff options
context:
space:
mode:
authorYao Chen <yaochen@google.com>2019-04-02 13:51:46 -0700
committerYao Chen <yaochen@google.com>2019-04-02 13:55:28 -0700
commit0a75f928d109e2ad892b30bab38bf23f452a8ace (patch)
treedb0e0cbeeaa08ee0d2a98f44f41e538035b00c39 /libstats
parentcc563077bfc18b1492ca1aaf7fb547750e582ac2 (diff)
downloadsystem_core-0a75f928d109e2ad892b30bab38bf23f452a8ace.tar.gz
system_core-0a75f928d109e2ad892b30bab38bf23f452a8ace.tar.bz2
system_core-0a75f928d109e2ad892b30bab38bf23f452a8ace.zip
Increase the SO_SNDBUF for statsd socket.
In addition to the dgram queue size, the sender buffer size also matters. Set it to a higher value (default is 224KB). Test: manual Change-Id: Ib610c1fa1eaf3c5e36f51854a2b0720f387dc1b8
Diffstat (limited to 'libstats')
-rw-r--r--libstats/statsd_writer.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libstats/statsd_writer.c b/libstats/statsd_writer.c
index b778f92b8..b1c05eac9 100644
--- a/libstats/statsd_writer.c
+++ b/libstats/statsd_writer.c
@@ -109,6 +109,11 @@ static int statsdOpen() {
if (sock < 0) {
ret = -errno;
} else {
+ int sndbuf = 1 * 1024 * 1024; // set max send buffer size 1MB
+ socklen_t bufLen = sizeof(sndbuf);
+ // SO_RCVBUF does not have an effect on unix domain socket, but SO_SNDBUF does.
+ // Proceed to connect even setsockopt fails.
+ setsockopt(sock, SOL_SOCKET, SO_SNDBUF, &sndbuf, bufLen);
struct sockaddr_un un;
memset(&un, 0, sizeof(struct sockaddr_un));
un.sun_family = AF_UNIX;