问题标签 [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.
clojurescript - 从 ClojureScript 中的 React 组件派生静态 CSS
我一直在尝试并考虑通过 ClojureScript、Reagent、Rum、Re-frame 和 Om 中的各种抽象来使用 React。但是有一件事我不确定两者都可以解决,也许是因为它是一个单独的关注点,具体取决于人们如何看待它,这实际上是在组件中包含样式。虽然我也完全有可能忽略了它,但对于实际问题:
有没有办法让给 React 的样式的静态部分编译为每个组件的 CSS 类,而不是在组件的每个实例中内联?
是时候举个例子了!让我们列出一个列表,其中每个项目都应以特定方式设置样式:
使用 Reagent,上述 Hiccup 将呈现为:
正如我们所见,可以将决定颜色的规则提取到 CSS 类规则中,并将该类附加到元素上。在这种特定情况下,HTML 大小的差异不会太大,但组件的每个规则或实例都会使差距更大。
总而言之:我喜欢将与组件相关的所有内容都保留在该组件中的想法,包括样式;我只是不喜欢内联和重复不需要重复的内容。并且使用 Clojure 数据结构中声明的样式,可以使用 Clojure 核心库来操作这些样式,这很好。
sql - 如何计算 SQL 中的合并标准差?
我正在收集页面加载时间并将它们存储在 SQL 表中。每分钟,我都想“汇总”这些统计信息,存储点击次数、平均加载时间和加载时间的标准偏差。
过了一会儿,我想按小时“汇总”这十分钟的间隔,保留总点击量、平均页面加载时间和“合并”标准偏差。
这是我编写的测试脚本的关键部分:
您还可以看到整个测试脚本的 SQL Fiddle。
汇总的标准差数学基于维基百科的这个方程:
我的问题是:
- 在 SQL 中计算合并标准差的最佳方法是什么?
- 它会扼杀性能吗?
更新:
添加了一条case
语句来处理所有样本大小的总和 = 1 的情况。在这种情况下,标准差未定义。
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 定义。
javascript - 为什么在 HTML 开始下载之前发生第一次绘制?
我正在使用 Navigation Timing API 收集数据。
具体来说,这四个指标:
我经常发现redirectTime + lookupDomainTime + connectTime > firstPaintTime
。如果 Chrome 的第一次绘制指标是从 navigationStart 计算的,那么这意味着第一次绘制发生在任何 HTML 下载之前。这似乎是不可能的。
如果 firstPaintTime 不是从 计算的window.performance.timing.navigationStart
,它是从什么点计算的?
animation - 在 ClojureScript 中使用 Rum 或 Reagent 优雅地暂停或恢复 SVG 动画
如何<animateTransform>
在不丢失动画状态的情况下使用 SVG 中的元素暂停正在运行的 SVG 动画?
在动画元素或父元素上设置animation-play-state: paused;
无效。将 repeatCount 从 更改indefinite
为0
,会丢失动画状态。
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”请求中发送它。我计划将它们记录在文本文件中以供将来参考。
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:
javascript - Elastic APM - RUM JS 代理:与 React-Redux 应用程序集成
是否存在任何 npm 模块/插件以便将 Elastic APM 的 RUM JS 代理与应用程序集成?
集成是指与应用程序的良好耦合,以便记录所有事物/事件(例如路由加载、所有服务请求、操作等)并将其提供给弹性搜索。
clojure - 使用 core.async 延迟显示 http 请求微调器的惯用方法
我正在使用 ClojureScript+Rum 构建一个简单的 Web 应用程序,在多个地方我需要使用通过 http/get 请求从服务器获取的数据来显示 UI 片段。
通常我想在数据完全加载之前显示一个微调器。但我不想立即显示它,因为它可能会感觉闪烁(服务器可以足够快地返回响应),所以理想情况下它应该显示一些延迟(比如 300 毫秒)。因此,如果浏览器获得更快的响应,则微调器将不会显示。
如何以理想的 core.async 方式做到这一点?(见下面我的尝试)。
在 http 请求开始时立即开始显示微调器是微不足道的:
但是如何延迟显示微调器?我尝试通过将“混合”“超时”和“响应”通道“混合”在一起,然后检查我从结果通道获得的值。它可以工作,但代码感觉很笨拙:
有一个更好的方法吗?
performance - Dynatrace:UEM设置的dtCookie Cookie中的srv是什么意思
我有一个激活 UEM 的网站。
它添加了这个cookie:
我想知道srv的含义。它是服务器的数字还是其他什么?
我没有在文档中找到任何关于它的信息。