Understanding Ruby with BPF - rbperfRuby with BPF eBPF Summit ## Why BPF? ## Why BPF? ## - Flexibility ## Why BPF? - Flexibility - Low overhead ## Why BPF? - Flexibility - Low overhead - Continuous profiling ## Why BPF? - Flexibility stack walking for a dynamic language - Supporting multiple Ruby versions - Correctness testing - BPF safety features ## Future plans - Integrate in Facebook’s profiling infra - Rewrite OSS driver program0 码力 | 19 页 | 972.07 KB | 1 年前3
Containers and BPF: twagent story## Containers and BPF: twagent story Andrey Ignatov, Facebook eBPF Summit ## twagent • a daemon - runs on every Facebook server • manages all Facebook containers - a part of the bigger TW system cgroup v2 • ... other usual building blocks ... • cgroup-bpf programs ## cgroup-bpf Vast majority of twagent tasks have one or more cgroup-bpf features enabled: • mostly networking: ☐ IP assignment but not only: - sysctl access control Let's look at some of them ... ## Example of cgroup-bpf programs (bpftool cgroup tree):  target remote localhost:1234 (gdb) bpf/syscall.c:4180 (gdb) bpf/syscall.c:796 (gdb) b bpf/syscall.c:121 (gdb) b kernel/bpf/ringbuf.c:159 ## Remember to: - Load the eBPF program0 码力 | 10 页 | 233.09 KB | 1 年前3
How to ship BPF with your Go projectto ship BPF with your Go project Lorenz Bauer eBPF Summit ## Goal • Count the number of packets on lo • Print the count to the console • From a single Go binary #### github.com/lmb/ship-bpf-with-go0 码力 | 3 页 | 174.11 KB | 1 年前3
Steering connections to sockets with BPF socket lookup hook## Steering connections to sockets with BPF socket lookup hook Jakub Sitnicki, Cloudflare @jkbs0 @cloudflare eBPF Summit ## Who am I? - Software Engineer at Cloudflare Spectrum TCP/UDP reverse proxy proxy, Linux kernel, ... - Contributor to Linux kernel networking & BPF subsystems Goal Fun? ## We will need VM running Linux kernel 5.9+ bpftool 5.9+ libbpf headers ☐ kernel headers ## vm $ uname dispatch with BPF socket lookup packet metadata struct bpf_sk_lookup { __u32 family; __u32 protocol; __u32 remote_ip4; __u32 remote_port; __u32 local_ip4; __u32 local_port; /* ... */ }; BPF program0 码力 | 23 页 | 441.22 KB | 1 年前3
eBPF Summit 2020 Lightning TalkRedBPF eBPF Summit ## I n This Talk • Different “types” of BPF programs • Write BPF programs in Rust • Add new feature in RedBPF • Use BPF maps to make stateful decisions • Load the program and protect Engineer @ CCP Games • @aquarhead on GitHub, Twitter... • Rust (and Elixir) • Disclaimer: new to BPF & kernel networking, pardon my mistake and welcome corrections! ## Sad Rabbit Has No Memory • - But adding such a feature in RabbitMQ could be a long process... ## Build a Limiter in BPF • Let's use BPF to get a quick win! • Track how many “AMQP consumers” have been declared for each connection0 码力 | 22 页 | 1.81 MB | 1 年前3
监控Apache Flink应用程序(入门)# 监控Apache Flink应用程序(入门) caolei Exported on 01/10/2020 ## Table of Contents 1 Flink指标体系 ..... 5 1.1 Metrics ..... 5 1.2 MetricsReporters ..... 5 2 健康状况 ..... 6 3 监控 ..... 7 3.1 关键指标 ..... Flink应用程序是非常艰巨的。在与许多大规模部署过Apache Flink的组织合作之后,我想与社区的朋友们分享下我的经验及一些最佳实践。 随着越来越多的核心业务应用程序运行在Apache Flink上,性能监控在成功的生产环境部署中变得非常重要。它确保何故障或停机时间都可以被立即识别并尽快得到解决。 监控与观察相结合是故障诊断和性能调优的先决条件。如今,随着现代企业应用程序的复杂性和交付速 度的加快,工程团队必须理解并在任何给定的时间点上对其应用程序的状态有一个完整的认识和概述。 ## 1 Flink指标体系 Flink作业监控的基础是它的度量系统,该系统由两个部分组成: Metrics和MetricsReporters。 ### 1.1 Metrics Flink提供了一套全面的内置Metrics: - JVM堆/非堆/直接内存的使用情况(任务粒度) • 作业重启次数(作业粒度)0 码力 | 23 页 | 148.62 KB | 2 年前3
OpenShift Container Platform 4.9 构建应用程序OpenShift Container Platform 4.9 ## 构建应用程序 在 OpenShift Container Platform 中创建和管理应用程序 Powered by TCPDF (www.tcpdf.org) 在 OpenShift Container Platform 中创建和管理应用程序 ## 法律通告 Copyright $ ^{©} $ 2023 Red Hat 本文档说明如何通过不同方式创建和管理在 OpenShift Container Platform 上运行的用户置备应用程序实例。这包括处理项目以及使用 Open Service Broker API 置备应用程序。 ## 目录 第1章 构建应用程序概述 ..... 4 1.1. 使用项目 ..... 4 1.2. 处理应用程序 ..... 4 1.3. 使用 RED HAT MARKETPLACE ..... 4 创建应用程序 ..... 16 3.1. 使用 DEVELOPER 视角创建应用程序 ..... 16 3.2. 从已安装的 OPERATOR 创建应用程序 ..... 22 3.3. 使用 CLI 创建应用程序 ..... 23 第4章 使用 TOPOLOGY 视图查看应用程序组成情况 ..... 31 4.1. 先决条件 ..... 31 4.2. 查看应用程序拓扑 .0 码力 | 184 页 | 3.36 MB | 2 年前3
OpenShift Container Platform 4.10 构建应用程序OpenShift Container Platform 4.10 ## 构建应用程序 在 OpenShift Container Platform 中创建和管理应用程序 Powered by TCPDF (www.tcpdf.org) 在 OpenShift Container Platform 中创建和管理应用程序 ## 法律通告 Copyright $ ^{©} $ 2023 Red Hat 本文档说明如何通过不同方式创建和管理在 OpenShift Container Platform 上运行的用户置备应用程序实例。这包括处理项目以及使用 Open Service Broker API 置备应用程序。 ## 目录 第1章 构建应用程序概述 ..... 4 1.1. 使用项目 ..... 4 1.2. 处理应用程序 ..... 4 1.3. 使用 RED HAT MARKETPLACE ..... 4 创建应用程序 ..... 16 3.1. 使用 DEVELOPER 视角创建应用程序 ..... 16 3.2. 从已安装的 OPERATOR 创建应用程序 ..... 23 3.3. 使用 CLI 创建应用程序 ..... 24 第4章 使用 TOPOLOGY 视图查看应用程序组成情况 ..... 32 4.1. 先决条件 ..... 32 4.2. 查看应用程序拓扑 .0 码力 | 198 页 | 3.62 MB | 2 年前3
对 Go 程序进行可靠的性能测试## 对 Go 程序进行可靠的性能测试 Changkun Ou https://changkun.de/s/gobench/ Go 夜读系列 | talkgo.org | Talk Go | 第 83 期 March 26, 2020  +0.89% DeleteCollision/*sync_Map-8 94.2ns ± 2% 5.7ns ± 2% -93.98% 2020 © Changkun Ou · Go 夜读 · 对 Go 程序进行可靠的性能测试 优化 src/sync/map.go 275 -delete(m.dirty, key) 275 +e, ok = m.dirty[key] 276 +m.missLocked() 当对数据的假设减少时,结论的不确定性就会增大,因此 p 值会相应的变大,进而使性能基准测试的条件更加严格。 ## 局限与应对措施 ## 降低系统噪音: perflock 作用是限制 CPU 时钟频率,从而一定程度上消除系统对性能测试程序的影响,减少结果的噪声,进而性能测量的结果方差更小也更加可靠,仅支持 Linux。 $ go get github.com/aclements/perflock/cmd/perflock $ sudo0 码力 | 37 页 | 1.23 MB | 2 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100
相关搜索词
eBPFrbperfprofilingtraceeBPFtwagentcgroup-bpf容器网络调试gdb内核断点Go项目网络数据包计数Cilium的eBPF库BPF socket lookup hookBPF sk_lookupBPF mapssockmapRustRedBPFBPF程序BPF地图监控指标MetricsReportersFlink作业监控系统系统资源OpenShift Container Platform项目管理ApplicationBuilderApplication DeploymentTopology视图应用程序构建部署项目性能测试基准测试benchstat假设检验perflock













