首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用新文物和kotlin协同线跟踪事务

用新文物和kotlin协同线跟踪事务
EN

Stack Overflow用户
提问于 2020-06-22 18:54:26
回答 1查看 626关注 0票数 1

我试图正确地跟踪一个火花-科特林服务器中的事务使用新的遗迹。这个特定的服务器有密集的协同使用,因为它向其他服务器发出了很多请求。

Newrelic有自定义的工具,允许从事务起源的线程跟踪正在执行的其他线程中的工作。这方面的主要工具是:

  • 令牌
  • 带有“with = true”的跟踪

因此,要在另一个线程上跟踪工作,我们必须:

  • 在原始线程中发出令牌
  • 链接“辅助线程”中的令牌
  • 当不再有线程使用事务时终止令牌(请参阅文档)

我们还知道,一个协同线可以跨多个线程执行,因此要正确跟踪在一个协同线中完成的工作,我们必须将每个线程链接起来。为此,我认为可以像在这个问题中解释的那样使用延续拦截器。当我们想要过期的时候,问题就出现了。假设我们在调用coroutine构建器之前发出一个令牌,并将其设置在coroutine上下文中。然后,我们可以将令牌链接到继续拦截器中,但是我如何知道协同线何时结束才能终止令牌呢?我试过使用"ContinuationInterceptor::releaseInterceptedContinuation()“,但事实证明,它可能在单个协同线中被多次调用,因为它是在每个连续被重新调用之后调用的。

EN

回答 1

Stack Overflow用户

发布于 2020-06-23 22:36:57

我发现Job有一个"invokeOnCompletion“方法,这个方法在协同线完成后由框架调用。我把代币过期了!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62521548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档