问题标签 [rum]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
389 浏览

clojurescript - 从 ClojureScript 中的 React 组件派生静态 CSS

我一直在尝试并考虑通过 ClojureScript、Reagent、Rum、Re-frame 和 Om 中的各种抽象来使用 React。但是有一件事我不确定两者都可以解决,也许是因为它是一个单独的关注点,具体取决于人们如何看待它,这实际上是在组件中包含样式。虽然我也完全有可能忽略了它,但对于实际问题:

有没有办法让给 React 的样式的静态部分编译为每个组件的 CSS 类,而不是在组件的每个实例中内联?

是时候举个例子了!让我们列出一个列表,其中每个项目都应以特定方式设置样式:

使用 Reagent,上述 Hiccup 将呈现为:

正如我们所见,可以将决定颜色的规则提取到 CSS 类规则中,并将该类附加到元素上。在这种特定情况下,HTML 大小的差异不会太大,但组件的每个规则或实例都会使差距更大。

总而言之:我喜欢将与组件相关的所有内容都保留在该组件中的想法,包括样式;我只是不喜欢内联和重复不需要重复的内容。并且使用 Clojure 数据结构中声明的样式,可以使用 Clojure 核心库来操作这些样式,这很好。

0 投票
0 回答
639 浏览

sql - 如何计算 SQL 中的合并标准差?

我正在收集页面加载时间并将它们存储在 SQL 表中。每分钟,我都想“汇总”这些统计信息,存储点击次数、平均加载时间和加载时间的标准偏差。

过了一会儿,我想按小时“汇总”这十分钟的间隔,保留总点击量、平均页面加载时间和“合并”标准偏差。

这是我编写的测试脚本的关键部分:

您还可以看到整个测试脚本的 SQL Fiddle

汇总的标准差数学基于维基百科的这个方程:

合并标准差方程

我的问题是:

  1. 在 SQL 中计算合并标准差的最佳方法是什么?
  2. 它会扼杀性能吗?

更新:

添加了一条case语句来处理所有样本大小的总和 = 1 的情况。在这种情况下,标准差未定义。

0 投票
1 回答
1923 浏览

javascript - 如何计算交互客户端的时间?

Chrome 的 Lighthouse 工具和 WebPageTest 提供“交互时间”(TTI)指标。

Google 提供了 TTI 的最小定义

交互时间被定义为布局稳定、关键网络字体可见并且主线程足以处理用户输入的时间点。

请注意,此指标处于早期阶段,可能会发生变化。

WebPageTest将它们分为“首次交互时间”和“持续交互时间”

是时候进行一致的交互式计算了

  • 开始在第一个内容绘制或加载的 DOM 内容中的较大者处寻找 TTI
  • 查找第一个交互窗口,其中有 5 秒的连续时间段完全包含在交互窗口中,并且不超过 2 个进行中的请求
  • TTI 是从步骤 2 开始的交互式窗口或搜索起点,以较晚者为准

第一次交互式计算

  • 开始在第一个内容绘制或加载的 DOM 内容中的较大者处寻找 TTI
  • 查找第一个交互式窗口,其中有 5 秒的连续时间段完全包含在交互式窗口中,无论进行中的请求数量如何
  • TTI 是从第 2 步开始的交互式窗口的起点或搜索起点,以较晚者为准

我想在客户端计算 WebPageTest 的两个不同 TTI 指标并将它们发送回 API(用于RUM目的)。

当前的 JavaScript API 是否可以进行这样的计算?如果是这样,怎么做?

更新:

我还没有找到令人满意的客户端解决方案,但我找到了更深入的 TTI 定义

0 投票
1 回答
276 浏览

javascript - 为什么在 HTML 开始下载之前发生第一次绘制?

我正在使用 Navigation Timing API 收集数据。

具体来说,这四个指标:

我经常发现redirectTime + lookupDomainTime + connectTime > firstPaintTime。如果 Chrome 的第一次绘制指标是从 navigationStart 计算的,那么这意味着第一次绘制发生在任何 HTML 下载之前。这似乎是不可能的。

如果 firstPaintTime 不是从 计算的window.performance.timing.navigationStart,它是从什么点计算的?

0 投票
1 回答
122 浏览

animation - 在 ClojureScript 中使用 Rum 或 Reagent 优雅地暂停或恢复 SVG 动画

如何<animateTransform>在不丢失动画状态的情况下使用 SVG 中的元素暂停正在运行的 SVG 动画?

在动画元素或父元素上设置animation-play-state: paused;无效。将 repeatCount 从 更改indefinite0,会丢失动画状态。

0 投票
0 回答
208 浏览

boomerang - 对数回旋镖参数

我一直在尝试使用 Boomerang JS 为我的网站实现真实用户监控。我使用了旧版本的 Boomerang JS,它使用请求类型作为“GET”发送信标请求,但使用新版本的 Boomerang,它使用“POST”请求发送数据,并将 RUM 数据作为“表单数据参数”。我一直在尝试以具有查询参数的字符串的形式构建信标请求。例如:https ://www.example.org/beacon?nt_start=1234&nt_nav=5678 ....

根据 Github 提供的 Boomerang 文档和源代码,如果请求参数的长度超过 2000 个字符,则自动形成“POST”请求,否则形成“GET”请求。但是当我尝试实现时,它总是默认形成一个“POST”请求,即使我的字符长度小于 2000。有没有办法解决这个问题,让回旋镖在带有查询参数的“GET”请求中发送它。我计划将它们记录在文本文件中以供将来参考。

在此处输入图像描述

0 投票
1 回答
133 浏览

clojurescript - A Rum's component rendering in the REPL fails by TypeError

When I try to render any Rum's component right in the REPL it fails with the following error message. What am I doing wrong? Is any workaround exists?

Creating a project from the scratch get the same error:

0 投票
1 回答
1590 浏览

javascript - Elastic APM - RUM JS 代理:与 React-Redux 应用程序集成

是否存在任何 npm 模块/插件以便将 Elastic APM 的 RUM JS 代理与应用程序集成?

集成是指与应用程序的良好耦合,以便记录所有事物/事件(例如路由加载、所有服务请求、操作等)并将其提供给弹性搜索。

0 投票
1 回答
241 浏览

clojure - 使用 core.async 延迟显示 http 请求微调器的惯用方法

我正在使用 ClojureScript+Rum 构建一个简单的 Web 应用程序,在多个地方我需要使用通过 http/get 请求从服务器获取的数据来显示 UI 片段。

通常我想在数据完全加载之前显示一个微调器。但我不想立即显示它,因为它可能会感觉闪烁(服务器可以足够快地返回响应),所以理想情况下它应该显示一些延迟(比如 300 毫秒)。因此,如果浏览器获得更快的响应,则微调器将不会显示。

如何以理想的 core.async 方式做到这一点?(见下面我的尝试)。

在 http 请求开始时立即开始显示微调器是微不足道的:

但是如何延迟显示微调器?我尝试通过将“混合”“超时”和“响应”通道“混合”在一起,然后检查我从结果通道获得的值。它可以工作,但代码感觉很笨拙:

有一个更好的方法吗?

0 投票
2 回答
864 浏览

performance - Dynatrace:UEM设置的dtCookie Cookie中的srv是什么意思

我有一个激活 UEM 的网站。

它添加了这个cookie:

我想知道srv的含义。它是服务器的数字还是其他什么?

我没有在文档中找到任何关于它的信息。