小编Mic*_*lin的帖子

在Golang monorepo中找到死代码

我的团队将所有Golang代码都放在monorepo中.

  • 包含库代码的各种包子目录.
  • 二进制文件/服务/工具 cmd

我们已经有一段时间了,正在做一些清理工作.是否有任何工具或技术可以找到二进制文件未使用的功能cmd

我知道go vet可以找到包中未使用的私有函数.但是我怀疑我们还导出了未使用的库函数.

refactoring go

8
推荐指数
2
解决办法
3836
查看次数

用`perf_event_open`模拟`perf record -g`

我的目标是编写一些代码,以一定间隔记录所有CPU的当前调用堆栈。本质上,我想做的perf record只是使用perf_event_open自己。

根据联机帮助页,看来我需要使用PERF_SAMPLE_CALLCHAIN样本类型并使用读取结果mmap。就是说,联机帮助页非常简洁,某些示例代码现在将大有帮助。

有人可以指出我正确的方向吗?

c linux perf

5
推荐指数
1
解决办法
404
查看次数

哪些 LLVM 指令可以退出函数?

我的目标是确定 LLVM 函数的所有可能的退出点。我知道终止符指令结束基本块,要么退出函数,要么分支到同一函数的另一部分。终结者指令中,大部分我都清楚:

  • retresume退出该函数
  • br, switch,indirectbr分支到同一功能中的其他块
  • invokecatchswitch与异常控制流程相关,也不应该退出该函数
  • unreachable为此目的可以忽略)

catchret我想就和寻求澄清cleanupret。我已经编译了示例异常处理代码clang++在 Mac 和 Ubuntu 上),但在编译的 LLVM IR 中没有看到这些指令。这些仅用于特定 ABI 吗?

llvm llvm-ir

5
推荐指数
0
解决办法
968
查看次数

如何避免从 Cloud Function 到 Cloud SQL 的网络出站费用?

我观察到 Google Cloud Functions 的网络出站费用令人惊讶,我正在尝试了解发生这种情况的原因以及如何避免这种情况。

Stackdriver 监控表明有问题的函数是我的ingest函数,该函数从 GCS 存储桶读取文件,处理它们并将行插入 Cloud SQL 实例。请参阅此处云函数的网络出站与 SQL 实例接收的字节之间的相关性。

云函数和云 sql 的字节输入/输出

该函数和云 SQL 实例都位于us-central1(尽管该区域内的不同区域)。该函数通过提供的 unix 套接字连接到 SQL 实例。SQL 实例确实有一个公共 IP 地址。

根据迄今为止的收费,我似乎为每 GiB 支付 0.1 美元,这看起来像是一般的互联网出口价格。

我现在唯一的理论是,由于公共 IP,我需要为 SQL 实例的流量支付公共互联网出口价格。这合理吗?收费还有其他原因吗?如果这是真的,我想如果我禁用 SQL 实例的公共 IP,费用就会消失?

google-cloud-sql google-cloud-platform google-cloud-functions

2
推荐指数
1
解决办法
739
查看次数