小编asp*_*yct的帖子

Prometheus:合并二元运算中缺失标签的值

我有两个具有匹配标签的指标,两个计数器:

accounts_created_total{provider="auth0"} 738
accounts_created_total{provider="google} 980

accounts_deleted_total{provider="auth0"} 65
Run Code Online (Sandbox Code Playgroud)

我想根据这两个指标计算现有帐户的数量。我想出了这个:

accounts_created_total - accounts_deleted_total

# which results in

{provider="auth0"} 673

# Note the missing provider="Google"
Run Code Online (Sandbox Code Playgroud)

不幸的是,没有account_deleted_totalfor provider="Google",所以我只能得到结果provider="auth0"

有没有办法告诉普罗米修斯“弥补”丢失的标签?这通常相当于coalesceSQL 中的 a。

monitoring prometheus

3
推荐指数
1
解决办法
2493
查看次数

Haskell,String vs ... String?

我目前正在关注他们网站上的Happstack lite教程.http://happstack.com/page/view-page-slug/9/happstack-lite-tutorial

现在,我正在实现该echo功能,编译器给我一个我不太懂的错误信息.这是我的代码:

echo :: ServerPart Response
echo =
    path $ \(msg :: String) ->
        ok $ template "echo" $ do
            h1 "Echo service"
            p "Giant, Haskell style Papagallo"
            p msg
Run Code Online (Sandbox Code Playgroud)

这是错误信息:

src/motiondude.hs:35:15:
    Couldn't match type `[Char]' with `Text.Blaze.Internal.MarkupM ()'
    Expected type: Html
      Actual type: String
    In the first argument of `p', namely `msg'
    In a stmt of a 'do' block: p msg
    In the second argument of `($)', namely
      `do { h1 "Echo service";
            p "Giant, …
Run Code Online (Sandbox Code Playgroud)

haskell types happstack

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

Prometheus:根据另一个指标过滤查询

假设我在普罗米修斯中有两个指标,都是计数器:

  • requests_processed_total
  • requests_failed_total

他们都有一个匹配的service标签。例子:

requests_processed_total{service="news"} 1097
requests_processed_total{service="store"} 487
requests_failed_total{service="news"} 23
requests_failed_total{service="store"} 89
Run Code Online (Sandbox Code Playgroud)

如何查询requests_failed_total,但仅限于其服务request_processed_total > 1000

我期待以下回复:

requests_failed_total{service="news"} 23

# Note that the "store" service is excluded
Run Code Online (Sandbox Code Playgroud)

monitoring grafana prometheus

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

C回调中的ARC弱引用

我目前正在玩AudioQueue服务,我遇到了一个小问题.

AudioQueue有一堆回调,每个回调都可以携带一个"用户数据",基本上是一个指针.我希望我可以传递我的一个对象作为这个指针.

所以会发生的事情是,在某些情况下,AudioQueue以接近这个的方式调用我的回调:

static void HandleOutputBuffer (
    void                *aqData,
    AudioQueueRef       inAQ,
    AudioQueueBufferRef inBuffer
) {
    MyPlayerData *mpd = (MyPlayerData *)aqData;
    ...
}
Run Code Online (Sandbox Code Playgroud)

这通常很有效,但是当我的播放器到达媒体的末尾时,它会被取消分配.但通常HandleOutputBufferMyPlayerData对象被释放后调用回调,从而产生一个很好的段错误.

我希望我可以使用弱参考.有没有办法让我有一个ARC void *指针?每当对象被释放时,将被设置为nil的东西?

我目前正在看__weak,但我不确定这是使用的正确工具......

objective-c ios automatic-ref-counting

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

Emacs - slime - 将当前函数保存到文件

我开始使用CLisp,因此也开始使用Emacs,包括"SLIME"插件(或者不管它叫什么.它是如何调用的?)

所以我已经玩了很长一段时间的REPL,并用(defun)定义了很多函数.

不幸的是,这些函数都没有写在文本文件中,我也不想重新编写这些函数.有没有办法可以将REPL中完成的工作转储或以其他方式保存到文件中?(如果文件是Lisp源代码,奖励积分:))

lisp emacs common-lisp

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