profile
viewpoint
Ivan Babrou bobrik @cloudflare San Francisco, CA http://bobrik.name

push eventbobrik/glb-director

Ivan Babrou

commit sha 025b3b68b315422ed7b53b323033f35537a17d0c

Update referenced commit for clearing of skb->tstamp Co-Authored-By: Theo Julienne <theojulienne@github.com>

view details

push time in 6 days

pull request commentcloudflare/salt-cloudflare

add support for CAA records

Thanks!

t2b

comment created time in 12 days

push eventcloudflare/salt-cloudflare

ttb

commit sha fd5f0394e66d6ae7c89b8462c4ade213df417ffe

add support for CAA records was originally added in 33dae603b8d186c055e9012cbaa2924a4f75448c and accidentally removed in e3b9b767f058346d3f83bc950cb08e2ff064c287

view details

Ivan Babrou

commit sha d681e143c516a9ab364698c67b589609d11a5e58

Merge pull request #11 from t2b/master add support for CAA records

view details

push time in 12 days

PR merged cloudflare/salt-cloudflare

add support for CAA records

was originally added in 33dae603b8d186c055e9012cbaa2924a4f75448c and accidentally removed in e3b9b767f058346d3f83bc950cb08e2ff064c287

+9 -0

0 comment

1 changed file

t2b

pr closed time in 12 days

pull request commentgithub/glb-director

Clear our skb timestamp to unbreak fq

I used the following patch to find this:

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Ivan Babrou <ivan@cloudflare.com>
Date: Tue, 29 Oct 2019 11:56:43 -0700
Subject: [PATCH] KRN-262: add debug around flow_queue_add in fq

---
 net/sched/sch_fq.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/net/sched/sch_fq.c b/net/sched/sch_fq.c
index 98dd87ce1510..2c2436160a7b 100644
--- a/net/sched/sch_fq.c
+++ b/net/sched/sch_fq.c
@@ -380,8 +380,14 @@ static void flow_queue_add(struct fq_flow *flow, struct sk_buff *skb)
 {
 	struct rb_node **p, *parent;
 	struct sk_buff *head, *aux;
+	u64 now = ktime_get_ns();
 
-	fq_skb_cb(skb)->time_to_send = skb->tstamp ?: ktime_get_ns();
+	if (skb->tstamp) {
+		WARN_ON_ONCE((s64)(skb->tstamp - now) > (s64)(30LLU * NSEC_PER_SEC));
+		fq_skb_cb(skb)->time_to_send = skb->tstamp;
+	} else {
+		fq_skb_cb(skb)->time_to_send = now;
+	}
 
 	head = flow->head;
 	if (!head ||
-- 
2.23.0

The stack trace produced looked like this:

------------[ cut here ]------------
WARNING: CPU: 12 PID: 0 at net/sched/sch_fq.c:386 fq_enqueue+0x544/0x610 [sch_fq]
CPU: 12 PID: 0 Comm: swapper/12 Tainted: G           O      5.4.0-rc5-cloudflare-2019.10.16 #2019.10.16
Hardware name: Quanta S210-X22RQ/S210-X22RQ, BIOS S2RQ3A27 10/31/2013
RIP: 0010:fq_enqueue+0x544/0x610 [sch_fq]
Call Trace:
 <IRQ>
 ? nf_conntrack_tuple_taken+0x52/0x1f0 [nf_conntrack]
 ? netdev_pick_tx+0xd6/0x210
 __dev_queue_xmit+0x451/0x960
 ? packet_rcv+0x34c/0x460
 vlan_dev_hard_start_xmit+0x8e/0x100 [8021q]
 dev_hard_start_xmit+0x8d/0x1e0
 __dev_queue_xmit+0x712/0x960
 ? nf_ct_del_from_dying_or_unconfirmed_list+0x32/0x70 [nf_conntrack]
 ? eth_header+0x26/0xc0
 ip_finish_output2+0x198/0x550
 ip_output+0x71/0xf0
 ? __ip_finish_output+0x1c0/0x1c0
 glbredirect_handle_inner_tcp_generic+0x331/0x790 [ipt_GLBREDIRECT]
 glbredirect_tg4+0x2ad/0x5c0 [ipt_GLBREDIRECT]
 ? efx_enqueue_skb+0x501/0xa30 [sfc]
 ? bpf_sk_storage_clone+0x48/0x1b0
 ? packet_rcv+0x43/0x460
 ? efx_hard_start_xmit+0x59/0xe0 [sfc]
 ? dev_hard_start_xmit+0x8d/0x1e0
 ? select_idle_sibling+0x22/0x550
 ? efx_farch_msi_interrupt+0x77/0x90 [sfc]
 ? efx_farch_tx_write+0x170/0x170 [sfc]
 ? efx_tx_map_chunk+0x47/0x80 [sfc]
 ? efx_enqueue_skb+0x501/0xa30 [sfc]
 ? packet_rcv+0x43/0x460
 ? fib4_rule_action+0x65/0x70
 ? fib4_rule_fill+0x100/0x100
 ? fib_rules_lookup+0x143/0x1a0
 ? __fib_lookup+0x6b/0xb0
 ? __fib_validate_source+0x1dd/0x430
 ? fib4_rule_action+0x65/0x70
 ? fib4_rule_fill+0x100/0x100
 ? fib_rules_lookup+0x143/0x1a0
 ? fib_validate_source+0x47/0xf0
 ? ipt_do_table+0x306/0x640 [ip_tables]
 ipt_do_table+0x306/0x640 [ip_tables]
 ? ipt_do_table+0x351/0x640 [ip_tables]
 nf_hook_slow+0x40/0xb0
 ip_local_deliver+0xd1/0xf0
 ? ip_protocol_deliver_rcu+0x1b0/0x1b0
 ip_rcv+0xbc/0xd0
 ? ip_rcv_finish_core.isra.0+0x390/0x390
 __netif_receive_skb_one_core+0x80/0x90
 netif_receive_skb_internal+0x2f/0xa0
 netif_receive_skb+0x18/0xb0
 efx_rx_deliver+0x10e/0x1c0 [sfc]
 __efx_rx_packet+0x393/0x800 [sfc]
 efx_poll+0x311/0x460 [sfc]
 net_rx_action+0x13a/0x380
 __do_softirq+0xe0/0x2ca
 irq_exit+0xa0/0xb0
 do_IRQ+0x58/0xe0
 common_interrupt+0xf/0xf
 </IRQ>
 cpuidle_enter+0x29/0x40
 do_idle+0x1b8/0x200
 cpu_startup_entry+0x19/0x20
 start_secondary+0x143/0x170
 secondary_startup_64+0xa4/0xb0
---[ end trace 47f595949b82e151 ]---
bobrik

comment created time in 14 days

PR opened github/glb-director

Clear our skb timestamp to unbreak fq

Strictly speaking, https://github.com/torvalds/linux/commit/8203e2d844d34 is included since Linux 4.20 and the condition may need to be more relaxed. We only run LTS versions, so 4.19 and 5.4 are the only two kernels I tested on.

Eric Dumazet blessed this change:

image

And we can finally see Linux 5.4 not aiming to send the next packet in 50 years:

  • https://lists.openwall.net/netdev/2019/10/29/177

Before:

qdisc fq 1: dev ext0 root refcnt 65 limit 10000p flow_limit 100p buckets 1024 orphan_mask 1023 quantum 3228 initial_quantum 16140 low_rate_threshold 550Kbit refill_delay 40.0ms
 Sent 4872143400 bytes 8448638 pkt (dropped 201276670, overlimits 0 requeues 103)
 backlog 779376b 10000p requeues 103
  2806 flows (2688 inactive, 118 throttled), next packet delay 1572240566653952889 ns
  354201 gc, 0 highprio, 804560 throttled, 3919 ns latency, 19492 flows_plimit

After:

qdisc fq 1: dev ext0 root refcnt 65 limit 10000p flow_limit 100p buckets 1024 orphan_mask 1023 quantum 3228 initial_quantum 16140 low_rate_threshold 550Kbit refill_delay 40.0ms
 Sent 10895663950 bytes 18301540 pkt (dropped 341, overlimits 0 requeues 439)
 backlog 7570b 4p requeues 439
  2777 flows (2775 inactive, 2 throttled), next packet delay 42582 ns
  819921 gc, 10 highprio, 1675956 throttled, 2879 ns latency, 341 flows_plimit
+7 -0

0 comment

1 changed file

pr created time in 14 days

create barnchbobrik/glb-director

branch : ivan/make-fq-happy

created branch time in 14 days

fork bobrik/glb-director

GitHub Load Balancer Director and supporting tooling.

fork in 14 days

issue commentiovisor/bcc

Missing ubuntu packages for 0.11.0

https://repo.iovisor.org/apt/xenial/pool/main/b/bcc/ doesn't have packages for v0.11.0.

bobrik

comment created time in 15 days

pull request commentcloudflare/ebpf_exporter

Vendor updated dependencies

 407 files changed, 120559 insertions(+), 15746 deletions(-)
bobrik

comment created time in 20 days

pull request commentcloudflare/ebpf_exporter

Vendor updated dependencies

This requires https://github.com/iovisor/bcc/issues/2570 😕

bobrik

comment created time in 20 days

issue openediovisor/bcc

Missing ubuntu packages for 0.11.0

I can only see 0.10.0 here: https://repo.iovisor.org/apt/xenial/pool/main/b/bcc/

This makes my build sad, because it depends on the following commit:

  • https://github.com/iovisor/bcc/commit/d147588ebe35b7cd2b4d253a7da18bef253ea78d

created time in 20 days

PR opened cloudflare/ebpf_exporter

Vendor updated dependencies
+120559 -15746

0 comment

407 changed files

pr created time in 20 days

create barnchcloudflare/ebpf_exporter

branch : ivan/vendor

created branch time in 20 days

pull request commentiovisor/gobpf

bcc: update bpf_module_create_c_from_string for bcc 0.11.0 (fixes #202)

@schu, @iaguis, @alban, can either of you merge, please?

alexforster

comment created time in 20 days

startedYutaroHayakawa/ipftrace

started time in 23 days

issue commentchrismanning/psi

Make epoll an optional dependency

Awesome, thanks!

bobrik

comment created time in a month

release cloudflare/ebpf_exporter

v1.2.0

released time in a month

created tagcloudflare/ebpf_exporter

tagv1.2.0

Prometheus exporter for custom eBPF metrics

created time in a month

push eventcloudflare/ebpf_exporter

Alex Forster

commit sha 51a2c65f70243abb234a467428a81182be884e69

Add 'make vendor' target to update deps

view details

Alex Forster

commit sha 85d5c4f372ecc3063ceef68e7b6f06501cd66fc1

Update vendored gobpf for libbcc-0.11.x support

view details

Ivan Babrou

commit sha cbed5269d6e4c3f2b0d64ca51d725ed888331f89

Merge pull request #60 from alexforster/libbcc-0.11 Update vendored gobpf for libbcc-0.11.x support

view details

push time in a month

pull request commentcloudflare/ebpf_exporter

Update vendored gobpf for libbcc-0.11.x support

Go tip build failed, I'll fix it when Go 1.14 is out.

alexforster

comment created time in a month

issue openedtiny-http/tiny-http

Optionally accept TCPListener rather than ToSocketAddrs

With TCPListener it's possible to listenfd and socket activation from systemd.

This allows to hide services into network namespaces and disallow them to do bind and listen, which is very handy security-wise. Not only can one disallow these, it's also probably possible to use RestrictAddressFamilies and disable even AF_INET and AF_INET6 for even more through lockdown.

I'm not really sure how to make this work without breaking backward compatibility or introducing something like _with_listener variants for methods that require ToSocketAddrs today.

created time in a month

issue openedchrismanning/psi

Make epoll an optional dependency

I'm using your crate to implement a prometheus exporter for PSI data. The only thing I really need from the crate itself is PSI file parsing: psi::Psi with FromStr + psi::PsiLine.

Your crate depends on epoll for monitoring of PSI events, but really in my case I don't need that part. It wouldn't matter as much if it compiled out of the box on macOS, where you obviously do not have neither epoll, nor real PSI.

It would be nice if it was possible to make monitor as an optional, but enabled by default, feature that pulls epoll.

created time in a month

startedchrismanning/psi

started time in a month

issue commentgoogle/cadvisor

Does cadvisor work with unified cgroup?

Looks like there's some progress: #2309.

keepclean

comment created time in a month

PR opened iovisor/bcc

Reviewers
Redefine asm_inline for Linux 5.4+, Fixes #2546

Here's the upstream commit that introduced asm_inline:

  • https://github.com/torvalds/linux/commit/eb111869301e15b737315a46c913ae82bd19eb9d

Without this patch BCC fails with the following:

$ sudo /usr/share/bcc/tools/opensnoop
In file included from /virtual/main.c:2:
In file included from include/uapi/linux/ptrace.h:142:
In file included from ./arch/x86/include/asm/ptrace.h:5:
./arch/x86/include/asm/segment.h:254:2: error: expected '(' after 'asm'
        alternative_io ("lsl %[seg],%[p]",
        ^
./arch/x86/include/asm/alternative.h:240:2: note: expanded from macro 'alternative_io'
        asm_inline volatile (ALTERNATIVE(oldinstr, newinstr, feature)   \
        ^
include/linux/compiler_types.h:210:24: note: expanded from macro 'asm_inline'
                       ^
+8 -0

0 comment

1 changed file

pr created time in a month

push eventbobrik/bcc

yonghong-song

commit sha b7604530f48b3eb6594d52ed455cd95a6b9ef955

Merge pull request #1445 from sandip4n/fix-test-tools-smoke Fix 'test_tools_smoke' from failing due to timeout

view details

Sandipan Das

commit sha 0bcc36b692fee4dd7f74505cbe44bad3bd9f8515

Fix 'test_tools_smoke' from failing due to 'tools/wakeuptime' This fixes 'test_tools_smoke' from failing on systems running linux < 4.6 because of the wakeuptime script. This script uses the bpf stack maps feature which is available only for linux 4.6+. To avoid this, we skip running it if the minimum kernel version requirement is not met. Signed-off-by: Sandipan Das <sandipan@linux.vnet.ibm.com>

view details

Sandipan Das

commit sha 958bd4e1fc73c4669e85b785e14b8576f3814e42

Update 'tools/wakeuptime' documentation This updates the manpage and examples for 'tools/wakeuptime' so that they include descriptions of the new arguments. Signed-off-by: Sandipan Das <sandipan@linux.vnet.ibm.com>

view details

Sandipan Das

commit sha ab01e24da5c7a5d8941135b4be14be542f97feee

Move original 'tools/wakeuptime' to old tools This moves the original wakeuptime script that uses manual stack walking to the old tools directory. Signed-off-by: Sandipan Das <sandipan@linux.vnet.ibm.com>

view details

Brendan Gregg

commit sha a3bfe09c556002e95dee370cf3b3b1534ec2b75a

Merge pull request #1444 from sandip4n/update-tools-wakeuptime Make 'tools/wakeuptime' use stack maps

view details

Jean-Tiare Le Bigot

commit sha ed5c38176a4bf8ed8e242d78518d0a0a0a2be1d1

solisten: mask clang warnings in inet_sock.h Signed-off-by: Jean-Tiare Le Bigot <jt@yadutaf.fr>

view details

Jean-Tiare Le Bigot

commit sha 6e2eaf865a84680863cb34ab00aae04299b4ae23

solisten: fix address endianness Signed-off-by: Jean-Tiare Le Bigot <jt@yadutaf.fr>

view details

Sandipan Das

commit sha 2c4da18a74e2f1bd6161e6cdca77a1e773e62d36

Add utility for cc tests to read command outputs This introduces a separate source file for adding common utilities which can be used by any of the cc tests. For now, we add a function to read values from the output of a command with a format string like scanf(). Signed-off-by: Sandipan Das <sandipan@linux.vnet.ibm.com>

view details

Sandipan Das

commit sha 5ac03ddad89cbb348850b996a2236465da7654a3

Fix 'test_libbcc' from failing due to symbol name mismatch This fixes 'test_c_api', called from 'test_libbcc', from failing if the name of the first symbol with the address of "strtok" in libc as returned by bcc_symcache_resolve() is not "strtok" but some other alias pointing to the same address. For glibc-2.25 on powerpc, a mismatch occurs as the name of the first symbol with the same address as that of "strtok" is "__GI_strtok". This can be verified from the output of the nm tool on Fedora 26 ppc64le as shown below. 00000000000b59c0 t __GI_strtok 00000000000b59c0 T strtok Signed-off-by: Sandipan Das <sandipan@linux.vnet.ibm.com>

view details

Sandipan Das

commit sha c15b5c87765130131b6df2492d504dc16350294d

Fix 'test_libbcc' from failing because of ruby This fixes 'test_usdt_probes', called from 'test_libbcc', from failing if the static markers are in libruby rather than a ruby executable. So, when the path of the binary having the markers is tested, we must check if either "/ruby" or "/libruby" is a substring rather than only checking for the former. Also, rather than relying on hardcoded values for the number of locations and arguments for a given probe, we capture this info using the readelf tool and then compare these with the values reported by bcc. This is because these numbers may vary across different versions of ruby and will cause the tests to fail. For example, 'test_libbcc' fails on Fedora 26 with ruby-2.4 as the number of locations where it expects 'array__create' is 7 even when it is actually 2 as reported by bcc and verified with readelf output. Signed-off-by: Sandipan Das <sandipan@linux.vnet.ibm.com>

view details

yonghong-song

commit sha 10f3f22c6fb081cf4283f346f1b303c2e31f8a3b

Merge pull request #1447 from yadutaf/fix-solisten solisten.py maintenance

view details

Teng Qin

commit sha 01b07baec9679c0c72e3e3efd5fd2aa68dc4e789

Update perf event type and config checks

view details

4ast

commit sha dee8f8f079d46a19db92885f5c2921b7956c3d48

Merge pull request #1448 from palmtenor/hw_cache_events Update perf event type and config checks

view details

Lukasz Dorau

commit sha 61bc92ad5a1cda735641c9216946346bfc421298

Update info about Ubuntu Xenial in INSTALL.md Update info about installing stable packages for Ubuntu Xenial in INSTALL.md Fixes:#1440

view details

Olivier Tilmans

commit sha 1af99d4eb7bf288f2ffadd82b4ceed6e8ad4007c

Fix dns_matching example * The name encoding function was not checking the constraints on domain names properly (<= 253 chars as one byte is needed for the name of the label and one for the terminating 0-len label; <= 63 chars per label). * The name encoding function was erroring when assigning a struct value in the byte array (Python 3.6.3). Refactored to join successive subarrays, and moved the null padding to make it explicit that it is needed by the bpf map key (and not the dns encoding). * Used builtin from argparse to have a list of domains in the command line arguments. * Reset the non-block flag through fcntl directly instead of reconstructing a socket object. * Exit gracefully when triggering SIGINT as hinted.

view details

Ivan Babrou

commit sha 95c20b01cc8d05c9ef9aa281b21f9c0dcb6ce948

funcslower: fix missing tgid when filtering by pid

view details

Ivan Babrou

commit sha 525f3e9044b213316a3df30df4996a7d7c3c60ef

funcslower: add a note about nested calls

view details

yonghong-song

commit sha f3bd860b57a76e13a80cb3947ff6efc05e18230b

Merge pull request #1452 from bobrik/patch-1 funcslower: fix missing tgid when filtering by pid

view details

Olivier Tilmans

commit sha 830d58d9f98e91d32cb2e10bd390668b2a9a4f96

libbpf: Support unbound raw socket creation Passing a NULL (or empty) char string to bpf_open_raw_sock() will skip the bind call on the newly created raw socket. This can create sniffers for all interfaces using a single socket filter. The dns_matching example has been updated to default to 'any' interface if noone is specified in the arguments.

view details

yonghong-song

commit sha 8cf1ff52ed305c4925a36c860aabe508670dd9f9

Merge pull request #1453 from bobrik/patch-2 funcslower: add a note about nested calls

view details

push time in a month

create barnchbobrik/bcc

branch : ivan/asm-inline

created branch time in a month

issue commentiovisor/bcc

Missing support for asm_inline in Linux 5.4

Adding the following at the very top of opensnoop C code also works:

#ifdef asm_inline
#undef asm_inline
#define asm_inline asm
#endif

Should I make a PR to insert this in BFrontendAction::DoMiscWorkAround() or is there a better way?

bobrik

comment created time in a month

issue openediovisor/bcc

Missing support for asm_inline in Linux 5.4

I'm observing the following issue:

$ sudo /usr/share/bcc/tools/opensnoop
In file included from /virtual/main.c:2:
In file included from include/uapi/linux/ptrace.h:142:
In file included from ./arch/x86/include/asm/ptrace.h:5:
./arch/x86/include/asm/segment.h:254:2: error: expected '(' after 'asm'
        alternative_io ("lsl %[seg],%[p]",
        ^
./arch/x86/include/asm/alternative.h:240:2: note: expanded from macro 'alternative_io'
        asm_inline volatile (ALTERNATIVE(oldinstr, newinstr, feature)   \
        ^
include/linux/compiler_types.h:210:24: note: expanded from macro 'asm_inline'
#define asm_inline asm __inline
                       ^

The cause appears to be this commit landed in 5.4.0-rc1:

  • https://github.com/torvalds/linux/commit/40576e5e63ea5eeab814de7af83ad09dd64134ee

If I replace asm_inline with asm in the kernel headers, it works just fine.

I do have CONFIG_CC_HAS_ASM_INLINE=y:

  • https://github.com/torvalds/linux/blob/v5.4-rc2/include/linux/compiler_types.h#L209-L213
  • https://github.com/torvalds/linux/commit/eb111869301e15b737315a46c913ae82bd19eb9d

The kernel is compiled with GCC 9.2.0, BCC is using LLVM9.

created time in a month

create barnchbobrik/quiche

branch : public-handshake

created branch time in a month

fork bobrik/quiche

🥧 Savoury implementation of the QUIC transport protocol and HTTP/3

https://docs.quic.tech/quiche/

fork in a month

issue openedgithub/glb-director

Failing build as of 5.4.0-rc2

Hello, this commit in 5.4.0-rc2 renamed nf_reset to nf_reset_ct, which broke the build:

  • https://github.com/torvalds/linux/commit/895b5c9f206eb7d25dc1360a8ccfc5958895eb89

Failure looks roughly like this:

[03:15:15]	make -C /huh/build/linux-5.4.0-rc2 ARCH=x86_64  O=/huh/build/amd64 M=/huh/build/glb-director/src/glb-redirect modules
[03:15:15]	make[1]: Entering directory '/huh/build/linux-5.4.0-rc2'
[03:15:15]	make[2]: Entering directory '/huh/build/amd64'
[03:15:16]	grep: dkms.conf: No such file or directory
[03:15:16]	  CC [M]  /huh/build/glb-director/src/glb-redirect/ipt_GLBREDIRECT.o
[03:15:17]	/huh/build/glb-director/src/glb-redirect/ipt_GLBREDIRECT.c: In function 'glbredirect_send_forwarded_skb':
[03:15:17]	/huh/build/glb-director/src/glb-redirect/ipt_GLBREDIRECT.c:94:2: error: implicit declaration of function 'nf_reset'; did you mean 'nf_ct_set'? [-Werror=implicit-function-declaration]
[03:15:17]	   94 |  nf_reset(skb);
[03:15:17]	      |  ^~~~~~~~
[03:15:17]	      |  nf_ct_set
[03:15:17]	cc1: some warnings being treated as errors
[03:15:17]	make[2]: Leaving directory '/huh/build/amd64'
[03:15:17]	make[3]: *** [/huh/build/linux-5.4.0-rc2/scripts/Makefile.build:266: /huh/build/glb-director/src/glb-redirect/ipt_GLBREDIRECT.o] Error 1
[03:15:17]	make[1]: Leaving directory '/huh/build/linux-5.4.0-rc2'
[03:15:17]	make[2]: *** [/huh/build/linux-5.4.0-rc2/Makefile:1650: /huh/build/glb-director/src/glb-redirect] Error 2
[03:15:17]	make[1]: *** [Makefile:179: sub-make] Error 2
[03:15:17]	make: *** [Makefile:195: build-glb-redirect-amd64] Error 2
[03:15:19]	Failure: 2

created time in a month

pull request commentjordansissel/fpm

replace static `control.tar.gz` with computed controltar

I've tried this patch and it didn't help for packages compressed with bzip2 on Debian Buster. I'm trying to install deb files created on Buster (dpkg 1.19.7) on Stretch (dpkg 1.18.25).

Before:

$ sudo dpkg -i /tmp/buggy.deb
tar: Archive is compressed. Use -j option
tar: Error is not recoverable: exiting now

After:

$ sudo dpkg -i /tmp/good.deb
dpkg-deb: error: archive '/tmp/good.deb' uses unknown compression for member 'control.tar.bz2', giving up
pdbogen

comment created time in a month

PR opened bobrik/linux

xfs: add a sysctl to disable memory reclaim participation

XFS may try to flush dirty inodes in reclaim and it slows things down considerably, especially in high page cache and slow disk environment.

This sysctl allows to exclude XFS from kswapd and direct reclaim.

See: https://marc.info/?t=154345187200003

+37 -1

0 comment

9 changed files

pr created time in a month

create barnchbobrik/linux

branch : ivan/xfs-no-direct-reclaim-5.4

created branch time in a month

create barnchbobrik/linux

branch : linux-5.4-rc1

created branch time in a month

push eventbobrik/jaeger

Muhammad Falak R Wani

commit sha be6340f7a65b41676558469cdcca4bfeab331b01

Fix HotRod job pool termination (#1453) (#1454) Signed-off-by: Muhammad Falak R Wani <falakreyaz@gmail.com>

view details

Stefan Vassilev

commit sha cb226ff60b13f1841d806278615183a4abc5e043

Expose tls.InsecureSkipVerify to es.tls.* CLI flags (#1473) * Expose tls.InsecureSkipVerify to es.tls.* CLI flags Signed-off-by: stefan vassilev <stefanvassilev1@gmail.com> * Add #nosec to createTLSConfig Signed-off-by: stefan vassilev <stefanvassilev1@gmail.com> * Add (insecure) to help string Signed-off-by: stefan vassilev <stefanvassilev1@gmail.com>

view details

Ivan Babrou

commit sha 7009c988182843a49ec3358c05725169bca71b99

Remove check for tags + duration in query parser (#1477) The check only applies to Cassandra backend, which already has the same check enabled. Resolves #1047. Signed-off-by: Ivan Babrou <ibobrik@gmail.com>

view details

Annanay Agarwal

commit sha 5b8c1f40f932897b9322bf3f110d830536ae4c71

Support gRPC for query service (#1307) * Initial commit, grpc for query-service Signed-off-by: Annanay <annanay.a@media.net> * Re-evaluate fields in GRPCHandler Signed-off-by: Annanay <annanay.a@media.net> * Use cmux, use stream in GetTraceResponse, regenerate *pb.go and swagger doc Signed-off-by: Annanay <annanay.a@media.net> * Edit GetTrace HTTP verb Signed-off-by: Annanay <annanay.a@media.net> * Re-add query definitions in a new file Signed-off-by: Annanay <annanay.a@media.net> * Address comments, correct API endpoint for query grpc Signed-off-by: Annanay <annanay.a@media.net> * Add definitions for other query functions Signed-off-by: Annanay <annanay.a@media.net> * Address comments, make API as close to plugin proto Signed-off-by: Annanay <annanay.a@media.net> * Fix api definitions Signed-off-by: Annanay <annanay.a@media.net> * Add dependency query utility Signed-off-by: Annanay <annanay.a@media.net> * Make fmt, add findtraces implementation Signed-off-by: Annanay <annanay.a@media.net> * Correct rebase Signed-off-by: Annanay <annanay.a@media.net> * Use end_time instead of duration Signed-off-by: Annanay <annanay.a@media.net> * dep ensure, fix build Signed-off-by: Annanay <annanay.a@media.net> * Addressed comments, fix proto tool versions Signed-off-by: Annanay <annanay.a@media.net> * Fix build Signed-off-by: Annanay <annanay.a@media.net> * Fix build Signed-off-by: Annanay <annanay.a@media.net> * Remove grpc-gateway code generation; use streaming Signed-off-by: Yuri Shkuro <ys@uber.com> * Implement streaming Signed-off-by: Yuri Shkuro <ys@uber.com> * make fmt lint Signed-off-by: Yuri Shkuro <ys@uber.com> * dep update Signed-off-by: Yuri Shkuro <ys@uber.com> * Start adding tests Signed-off-by: Annanay <annanay.a@media.net> * Add tests for GRPC handler Signed-off-by: Annanay <annanay.a@media.net> * Fix grpc handler tests Signed-off-by: Annanay <annanay.a@media.net> * WIP fixing tests Signed-off-by: Annanay <annanay.a@media.net> * Fix tests Signed-off-by: Annanay <annanay.a@media.net> * Fix tests Signed-off-by: Annanay <annanay.a@media.net> * Add test Signed-off-by: Yuri Shkuro <ys@uber.com>

view details

Ivan Babrou

commit sha 26c7e7dc67e67e006bcb41f14ae1de44659908e3

Switch from counter to a gauge for partitions held (#1485) * Switch from counter to a gauge for partitions held Counters cannot be decremented in Prometheus: ``` panic: counter cannot decrease in value goroutine 895 [running]: github.com/jaegertracing/jaeger/vendor/github.com/prometheus/client_golang/prometheus.(*counter).Add(0xc000790600, 0xbff0000000000000) /home/travis/gopath/src/github.com/jaegertracing/jaeger/vendor/github.com/prometheus/client_golang/prometheus/counter.go:71 +0xa3 github.com/jaegertracing/jaeger/vendor/github.com/uber/jaeger-lib/metrics/prometheus.(*counter).Inc(0xc0006b42a0, 0xffffffffffffffff) /home/travis/gopath/src/github.com/jaegertracing/jaeger/vendor/github.com/uber/jaeger-lib/metrics/prometheus/factory.go:183 +0x46 github.com/jaegertracing/jaeger/cmd/ingester/app/consumer.(*Consumer).handleMessages(0xc0004c4300, 0xf08c60, 0xc00054e630) /home/travis/gopath/src/github.com/jaegertracing/jaeger/cmd/ingester/app/consumer/consumer.go:124 +0x893 created by github.com/jaegertracing/jaeger/cmd/ingester/app/consumer.(*Consumer).Start.func1 /home/travis/gopath/src/github.com/jaegertracing/jaeger/cmd/ingester/app/consumer/consumer.go:87 +0xbd ``` Gauges can, even though we have to keep an extra variable around to keep count. In Prometheus Go library itself that is not necessary as Gauge type provides `Inc` and `Dec`, but Jaeger's wrapper does not have those exposed. Fixes #1200. Signed-off-by: Ivan Babrou <ibobrik@gmail.com> * Protect partitionsHeld in consumer by lock Signed-off-by: Ivan Babrou <ibobrik@gmail.com>

view details

guanw

commit sha 916771f37fe25bfbe23fbb80c30e3fdf815156d7

[agent] Refactor gRPC builder into reusable module (#1452) * adding grpc support between agent and collector Signed-off-by: Jude Wang <judew@uber.com> * update comments Signed-off-by: Jude Wang <judew@uber.com> * address comment Signed-off-by: Jude Wang <judew@uber.com> * address more comment Signed-off-by: Jude Wang <judew@uber.com> * fix lint error Signed-off-by: Jude Wang <judew@uber.com> * address comments Signed-off-by: Jude Wang <judew@uber.com> * add one more test to test fakeResolver with roundrobin balancer Signed-off-by: Jude Wang <judew@uber.com> * adding option to provide custom resolver to grpc Signed-off-by: Jude Wang <judew@uber.com> * address feedback Signed-off-by: Jude Wang <judew@uber.com> * address more feedback Signed-off-by: Jude Wang <judew@uber.com> * fix travis error Signed-off-by: Jude Wang <judew@uber.com>

view details

Yuri Shkuro

commit sha 8d239ae0457bf78c1b2951b00963ddea93764e65

Pin urllib3 version to unblock image builds (#1495) * Pin urllib3 version to unblock image build Signed-off-by: Yuri Shkuro <ys@uber.com> * Same fix for another image Signed-off-by: Yuri Shkuro <ys@uber.com>

view details

guanw

commit sha 7a1f33445d98c4eee21630489f470e736d044d53

Upgrade gRPC to 1.20.1 (#1492) Signed-off-by: Jude Wang <judew@uber.com>

view details

Jun Guo

commit sha f86da0a2d310ce33699542bb8db314f0201c5e29

Add span format tag for jaeger-collector (#1493) include span format tag for every processed span in the collector Signed-off-by: jung <jung@uber.com>

view details

Yuri Shkuro

commit sha 76c0164c0783e2205cb47e16a9022876b947cdc7

Install gosec from vendor and pin to 1.3.0 (#1502) Signed-off-by: Yuri Shkuro <ys@uber.com>

view details

Stefan Vassilev

commit sha bb786aee6bb359d8d4235d518c6a946ae7316bbb

Refactor grpc server creation in own package (#1487) * Refactor grpc server creation in own package Signed-off-by: stefan vassilev <stefanvassilev1@gmail.com> * Address PR comments Signed-off-by: stefan vassilev <stefanvassilev1@gmail.com> * Add info log before creation of cmux server Signed-off-by: stefan vassilev <stefanvassilev1@gmail.com> * Add test Signed-off-by: stefan vassilev <stefanvassilev1@gmail.com> * Propagate error to main Resolves racing condition when healthcheck's status is set to available after it is set to unavailable by server initialization process Signed-off-by: stefan vassilev <stefanvassilev1@gmail.com> * Address PR comments Signed-off-by: stefan vassilev <stefanvassilev1@gmail.com> * Some refactoring Signed-off-by: Yuri Shkuro <ys@uber.com> * fix lint Signed-off-by: Yuri Shkuro <ys@uber.com>

view details

Yuri Shkuro

commit sha 90a1668f7693f739504c63d54affc8089cd6aa83

Fix coverage limits Signed-off-by: Yuri Shkuro <ys@uber.com>

view details

Yuri Shkuro

commit sha d60b152c68215db031d61b043f6acf2bcbe5d670

Enable staticcheck linter and fix warnings (#1505) * Enable staticcheck linter and fix warnings Signed-off-by: Yuri Shkuro <ys@uber.com> * Fix tests Signed-off-by: Yuri Shkuro <ys@uber.com> * unpin Signed-off-by: Yuri Shkuro <ys@uber.com>

view details

yundeng

commit sha 15fb6fe15d1ff3be900038d42db6c32d482ea135

Support customized Kafka client.id (#1507) Fixes #1506

view details

Yuri Shkuro

commit sha acfd075286c9c46176c832bbcb87053ccf889745

DRY query servers in all-in-one (#1503) * DRY query servers in all-in-one Signed-off-by: Yuri Shkuro <ys@uber.com> * Fix merge conflict Signed-off-by: Yuri Shkuro <ys@uber.com>

view details

Stefan Vassilev

commit sha 3fff10206109b54c9d8a42cb1347336836a9b0ea

Simplify grpc_hanlder_test.go (#1509) * Simplify grpc_hanlder_test.go Resolves #1483 Signed-off-by: stefan vassilev <stefanvassilev1@gmail.com> * Fix indentation Signed-off-by: stefan vassilev <stefanvassilev1@gmail.com> * Address PR comments Signed-off-by: stefan vassilev <stefanvassilev1@gmail.com> * Improve error assertions Signed-off-by: stefan vassilev <stefanvassilev1@gmail.com> * Fix fmt errors Signed-off-by: stefan vassilev <stefanvassilev1@gmail.com>

view details

Yuri Shkuro

commit sha 8634ee7e6d8ec15b66daaeeddfcb661179792e15

Remove ES dependency from crossdock (#1514) Signed-off-by: Yuri Shkuro <ys@uber.com>

view details

Charles Dixon

commit sha 8588c4293c0f7b69f51b18964a83f929cbefb3e2

gRPC Plugin framework (#1461) * Add New Storage Plugin Framework Still a work in progress. Related to issue #422. Leverages Hashicorp's go-plugin. New set of protos for the use of plugin maintainers. Missing tests. Still need to create a plugin binary for the memory backend. Signed-off-by: Olivier Boucher <info@olivierboucher.com> Added Memory GRPC Plugin. Renamed packages (#422) Renamed packages from "external" to "grpc". Changed storage type to "grpc-plugin". Added cmd/memory-grpc-plugin that uses the memory backend as a grpc plugin. Added go-plugin dependency to Glide. Added task to generate plugin protos to Makefile. Signed-off-by: Olivier Boucher <info@olivierboucher.com> Refactored gRPC storage plugin protos Now makes use of protos from model/proto/model.proto and removed mapping functions. Plugin invoker calls the plugin binary directly instead of relying on sh. Signed-off-by: Olivier Boucher <info@olivierboucher.com> Refactored gRPC plugin protos to use defined models Removed mapping code. Removed used of sh, calling plugin binary directly. Signed-off-by: Olivier Boucher <info@olivierboucher.com> Removed .editorconfig file Signed-off-by: Olivier Boucher <info@olivierboucher.com> Added support for gRPC plugin configuration Configuration file is passed down to the plugin through the --config argument. It is the plugin's responsability to parse the file and initialize itself. Signed-off-by: Olivier Boucher <info@olivierboucher.com> Added benchmark for noop SpanWriter vs gRPC based noop plugin Fixed issues related to proto changes. Deleted memory-grpc-plugin since it was no longer relevant. Signed-off-by: Olivier Boucher <info@olivierboucher.com> Updated gRPC plugin & protos to implement latest SpanReader Added dependencies to Gopkg.lock since Glide -> dep transition happened recently. Signed-off-by: Olivier Boucher <info@olivierboucher.com> Fixed proto generation introduced when switching to Dep Changed json tags to match when TraceID was not a proto. Signed-off-by: Olivier Boucher <info@olivierboucher.com> proto fix Fixed issue introduced moving TraceID to model.proto Added proper annotations to storage.proto instead of exposing TraceID in model.proto. Tests are back to green. Signed-off-by: Olivier Boucher <info@olivierboucher.com> Added tests for gRPC storage factory and options Moved DependencyLink to model.proto since it had to be used and the existing struct did not implement any Marshaler/Unmarshaler methods. Changed storage configuration to allow testing via mocks. Added DependencyReader interface to the StoragePlugin interface. Signed-off-by: Olivier Boucher <info@olivierboucher.com> * Remove old generated storage file Signed-off-by: Charles Dixon <chvckd@gmail.com> * Update plugin grpc interface/implementation Signed-off-by: Charles Dixon <chvckd@gmail.com> * Fix gosec by adding an exclude comment Signed-off-by: Charles Dixon <chvckd@gmail.com> * Run make fmt Signed-off-by: Charles Dixon <chvckd@gmail.com> * Add comments to uncommented functions Signed-off-by: Charles Dixon <chvckd@gmail.com> * Split grpc server and client into separate files Signed-off-by: Charles Dixon <chvckd@gmail.com> * Use errors.wrap rather than fmt for errors Signed-off-by: Charles Dixon <chvckd@gmail.com> * Remove unused plugin file Signed-off-by: Charles Dixon <chvckd@gmail.com> * Add copyright header to grpc server file Signed-off-by: Charles Dixon <chvckd@gmail.com> * Update headers to updated license on uncommitted files Signed-off-by: Charles Dixon <chvckd@gmail.com> * Move grpc config to plugin/storage Signed-off-by: Charles Dixon <chvckd@gmail.com> * Add empty test files to fix build Signed-off-by: Yuri Shkuro <ys@uber.com> * Move grpc config empty_test file Signed-off-by: Charles Dixon <chvckd@gmail.com> * Change fmt for error to errors.Wrap Signed-off-by: Charles Dixon <chvckd@gmail.com> * Use single-line for comprehensions where possible Signed-off-by: Charles Dixon <chvckd@gmail.com> * Don't accumulate spans before sending Signed-off-by: Charles Dixon <chvckd@gmail.com> * Add function to serve the plugin Signed-off-by: Charles Dixon <chvckd@gmail.com> * Small grpc client refactor Signed-off-by: Charles Dixon <chvckd@gmail.com> * Update grpc interface and move noop plugin to examples Signed-off-by: Charles Dixon <chvckd@gmail.com> * Add missed fix for factory Signed-off-by: Charles Dixon <chvckd@gmail.com> * Rename memory-store example to memstore-plugin Signed-off-by: Charles Dixon <chvckd@gmail.com> * Refactor Serve to call ServeWithGRPCServer Signed-off-by: Charles Dixon <chvckd@gmail.com> * Refactor to make some structs private Signed-off-by: Charles Dixon <chvckd@gmail.com> * Change factory_test to use mocks Signed-off-by: Charles Dixon <chvckd@gmail.com> * Add storage grpc integration test Signed-off-by: Charles Dixon <chvckd@gmail.com> * Create mocks for storage_v1 and add grpc client tests Signed-off-by: Charles Dixon <chvckd@gmail.com> * Add grpc server tests Signed-off-by: Charles Dixon <chvckd@gmail.com> * Run make fmt Signed-off-by: Charles Dixon <chvckd@gmail.com> * Strip unnecessary code from test Signed-off-by: Charles Dixon <chvckd@gmail.com>

view details

Yuri Shkuro

commit sha 7ae02d435b4e520ca81ebd066e9295cef660bfb1

Remove empty test (#1517) Signed-off-by: Yuri Shkuro <ys@uber.com>

view details

Charles Dixon

commit sha 2aacfafb43e4893580a89e18ba6fe9dda5dd0439

Create README for developing grpc storage plugins #1518 (#1525) * Create README for developing grpc storage plugins #1518 Signed-off-by: Charles Dixon <chvckd@gmail.com>

view details

push time in 2 months

pull request commentjaegertracing/jaeger

Speed up SpanReader::findTraceIDs() for Elasticsearch

@NijiadeIX this is how much data we have on daily basis (33B spans / 2TB of data per replica):

$ curl 'https://foo.bar/_cat/indices/jaeger-span-*?v&s=index&h=index,pri,docs.count,store.size'
index                  pri  docs.count store.size
jaeger-span-2019-09-11  38 26600483894      3.2tb
jaeger-span-2019-09-12  38 33379018750        4tb
jaeger-span-2019-09-13  38 33201947406        4tb
jaeger-span-2019-09-14  38 31263193630      3.8tb
jaeger-span-2019-09-15  38 31037438456      3.7tb
jaeger-span-2019-09-16  38 32592635484      3.9tb
jaeger-span-2019-09-17  38 32561140996      3.9tb
jaeger-span-2019-09-18  38 28266696032      3.5tb
bobrik

comment created time in 2 months

startedNetronome/nic-firmware

started time in 3 months

more