我的团队将所有Golang代码都放在monorepo中.
cmd我们已经有一段时间了,正在做一些清理工作.是否有任何工具或技术可以找到二进制文件未使用的功能cmd?
我知道go vet可以找到包中未使用的私有函数.但是我怀疑我们还导出了未使用的库函数.
我的目标是编写一些代码,以一定间隔记录所有CPU的当前调用堆栈。本质上,我想做的perf record只是使用perf_event_open自己。
根据联机帮助页,看来我需要使用PERF_SAMPLE_CALLCHAIN样本类型并使用读取结果mmap。就是说,联机帮助页非常简洁,某些示例代码现在将大有帮助。
有人可以指出我正确的方向吗?
我观察到 Google Cloud Functions 的网络出站费用令人惊讶,我正在尝试了解发生这种情况的原因以及如何避免这种情况。
Stackdriver 监控表明有问题的函数是我的ingest函数,该函数从 GCS 存储桶读取文件,处理它们并将行插入 Cloud 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