相关分享
OpenTelemetry 实战:从 0 到 1 编写一个 Instrumentation
本文介绍了在 OpenTelemetry 中编写自定义 Instrumentation 的实践,通过 PowerJob 示例展示了如何选择埋点方式、识别埋点入口、实现核心逻辑,以及配置 CI 流程。作者详细解析了 `javaagent` 的配置方法,包括 span 数据写入和属性提取,并列举了调试和兼容性处理的注意事项。此过程适用于增强系统的可观测性,便于在复杂应用中实现链路追踪。
四种字符串和bytes互相转换方式的性能比较
在 Go 中,字符串和字节数组的互转性能是很多开发者关注的问题。本文详细对比了四种转换方式,包括新型 unsafe 方法和 Kubernetes 实现,并通过 Benchmark 测试揭示了它们的性能差异。想要优化你的 Go 项目性能?不妨看看这篇详细的实测分析!
使用eBPF编写系统调用跟踪器
本文总结了如何使用eBPF编写一个名为BeeTracer的系统调用跟踪器。文章介绍了eBPF的基本概念及其优势,并详细描述了在Rust中实现该工具的步骤。通过利用eBPF的tracepoints和maps功能,BeeTracer可以高效地捕获并记录Linux系统调用的细节。作者还提供了代码示例,展示了如何在内核空间进行实时跟踪。
“测试 Rust 的 I/O 性能”
这篇文章探讨了在Linux上使用Rust进行文件I/O操作的性能测试。作者通过多种方法对读取大文件进行基准测试,包括使用标准BufReader、Direct I/O、内存映射(Mmap)以及io_uring等技术。结果显示,使用AVX-512指令集的内存映射实现是最快的方法,其读取速度超过8.4 GB/s。文章强调不同技术的性能差异,并提供代码示例供开发者参考。
对比脚本型和编译型游戏服务器的热更新方案
本文对比游戏服务器中C++搭配脚本语言(Lua、Python)以及纯编译型语言(C++、Golang)来进行开发时,进行线上服务器热更新的方案。
基于接口数据变异的App健壮性测试实践
本文主要介绍了对网络返回数据进行变异的客户端健壮性测试实践经验。文章第一部分介绍客户端健壮性测试的基本概念;第二部分分享了基于接口返回数据变异的App健壮性测试方案设计的思路;第三部分主要解读了变异数据的构造和异常检测方案设计;第四部分介绍了精简变异数据的探索方案。
系统性能指标:洞察系统运行的关键脉搏
在当今数字时代,软件系统在我们的生活和工作中发挥着越来越重要的作用。我们需要确保这些系统能够在高负载、高并发的情况下稳定运行,为用户提供良好的体验。为了实现这一目标,我们需要关注系统性能监控指标,洞察系统运行的关键脉搏。本文将从指标分类、指标详细说明等方面介绍系统性能监控指标的相关知识,帮助你更好地理解和应用这些关键数据。
一个任务调度算法引起的性能问题
这两天遇到一个任务调度算法引起的性能问题,花了颇多精力排查和解决。问题出在我写的 ltask 这个 lua 多任务库上。ltask 最初是对 skynet 的一些反思中开始的,最初只是想换一种思路实现 skynet :做一个库而不是框架、更少的锁竞争、避免服务因为消息队列堆积而过载……
如何提供一个可信的AB测试解决方案
本文以履约场景下的具体实践为背景,介绍如何提供一个可信赖的AB测试解决方案。一方面从实验方法的角度论述实验过程中容易被忽视的统计陷阱,给出具体的解决方案,一方面从平台建设角度论述针对业务场景和对应约束制定实验方案提供给用户,而不只是功能和方法由用户自由选择,因为实验方法差之毫厘,结果可能是失之千里。
如何编写技术文档?
所谓编写技术文档,基本意味着以结构化的方式组织文档,传达出清晰明确的信息,来让用户正确的使用你的软件产品。结构化文档不仅仅是当前最为主流的文档组织方式,在可预见的未来也会如此。
