标签: metrics

你认为圈复杂度是一个有用的衡量标准吗?

我一直在玩测量大代码库的圈复杂度.

循环复杂性是通过程序源代码的线性独立路径的数量,并且有许多免费工具可供您选择的语言.

结果很有趣,但并不令人惊讶.也就是说,我知道最毛茸茸的部分实际上是最复杂的(评级> 50).但我发现有用的是,在决定从哪里开始重构时,我可以指出为每个方法分配一个具体的"坏"数字.

你使用圈复杂度吗?您找到的最复杂的代码是什么?

refactoring metrics cyclomatic-complexity code-metrics

53
推荐指数
6
解决办法
8915
查看次数

什么时候,如果"代码行数"是一个有用的指标?

有些人声称代码最大的敌人是它的大小,我倾向于同意.然而,每天你都会听到类似的事情

  • 我在一天内写了一些代码.
  • 我拥有x行代码.
  • Windows是x百万行代码.

问题:"#lines of code"何时有用?

ps:请注意,在做出这样的陈述时,语气"越多越好".

metrics

51
推荐指数
11
解决办法
3万
查看次数

DynamoDB什么时候节流请求?

在" 如何计算和限制Amazon DynamoDB吞吐量? " 的答案中,有人建议,每当您超过每秒的预配置吞吐量时,DynamoDB会限制请求.然而,这与我的经历相矛盾.

我在表中发布多行,通常行数超过预配置的写入容量.这种情况发生在短暂的爆发中.有一次,我甚至比平均配置容量高出5分钟.OTOH,平均15分钟低于容量.在那段时间里我没有受到任何限制请求.

5分钟平均峰值为8.053,预配容量为6: 平均5分钟

15分钟平均峰值远低于预设容量:

在此输入图像描述

那么DynamoDB何时会限制请求?考虑到什么样的平均值?爆发之前突发的容量有多高?

metrics amazon-web-services amazon-dynamodb

51
推荐指数
2
解决办法
2万
查看次数

绘制进程的内存使用情况

有没有人知道在Ubuntu上直观地显示所选进程的内存使用情况的工具?

ps aux 将显示一个数字快照,但我真的很喜欢我可以看到的一条线,因为我锤击过程并希望看到意外的行为.

有没有人有任何建议?

memory ubuntu monitoring metrics process

40
推荐指数
6
解决办法
2万
查看次数

codahale的"指标"的其他开源替代品?

我从codahale那里看到了指标项目,我相信它在Yammer上使用过.我喜欢这个解决方案,但想知道是否有其他具有类似功能的开源替代品.

java monitoring metrics jmx yammer

39
推荐指数
3
解决办法
2万
查看次数

计算Javascript的Cyclomatic复杂度

在Javascript中是否有可用于计算Cyclomatic Complexity的工具?

我在使用服务器端代码时发现它是一个非常有用的指标,并且希望能够将它用于我编写的客户端Javascript.

javascript metrics cyclomatic-complexity

38
推荐指数
5
解决办法
2万
查看次数

Eclipse metrics插件建议

我正在寻找一个工具来给我一些代码指标(总LOC,LOC/Class,外部引用/类的数量等等).

有谁知道一个好的eclipse插件可以为我提供一些代码指标?

eclipse metrics eclipse-plugin code-metrics

37
推荐指数
3
解决办法
3万
查看次数

符合"度量和网格"建议的Android布局示例

在尝试理解(相当新的)Android设计网站的Metrics and Grids页面之后,我放弃了很多东西.所以,基本上,我正在尝试找到Android 4中使用的原始布局,以便我可以应用相同的概念.

为了使这个问题更加客观和下计算器的"过宽"斧头不会失败,我问你用来重新布局,准确和完整,该网页上的例子.Google是否在样本中提供了这些内容?也许是一个着名的教学存储库,努力符合标准?

仅作为示例,不清楚如何重新创建"48/3指标"(16/16/16)以使文本适合它.如果我想使用1行小文本怎么办?它是16/wrap_content/16还是16/16/16才能使它与集合周围的其他布局保持一致?如果...

我相信这不仅有助于小型开发者,而且最重要的是,有助于标准化Android Play中应用的外观和感觉.该网站是一个良好的开端,但远非理想.

添加细节

我从来没有问过这么多的投票问题,我甚至没想到(我还有其他问题,我认为"更好",但到目前为止还没有那么多的投票和赞成).当然,并不是说我关心投票,而是表明对我所要求的东西很大的需求(这里有一点广告,但仍然......).

对评论的回复

@ Ricardo Amaral:

如果我不够清楚,我真的很抱歉:

  • 强制执行标准并要求明确无误是不同的问题.我喜欢Android的原因之一就是我们拥有的自由度,所以我非常清楚强制要求大多数常见做法.
  • 我认为它涉及自由概念中" 重新发明轮子 "的概念.
  • 同样,这些只是例子.有些事情不清楚 ......外部容器的填充和内部视图的边缘?很多时候,这会对选择器,拖动等等产生影响,并且再次转化为用户熟悉的外观和感觉.有一点感觉就像分裂头发一样,但它很快就会产生很多细微差别.并且用户注意到它......看起来它缺乏最后的"画龙点睛".

@ Michael Slade:

我知道他们是一些例子,他们可能已经从模板中进行了线框化.如上所述,我已经重用了SDK中的代码,我知道它们只是示例,我们可以偏离它们.再说,经过这么久,没有人回答.

选择性受益于精确度.这就是我想说的问题.因为这是一个建议并不意味着它的指导方针可以是你想要的任何东西.如果你这样做,那就不再是推荐了.顺便提一下,这就是建议的全部要点:在不强迫任何人的情况下提供实施理论.

感谢大家!

standards layout android metrics look-and-feel

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

使用JavaScript记录热图的用户数据

我想知道像crazyegg.com这样的网站如何在会话期间存储用户点击数据.显然有一些底层脚本存储每个点击数据,但是这些数据如何填充到数据库中?在我看来,简单的解决方案是通过AJAX发送数据但是当你认为几乎不可能获得跨浏览器页面卸载功能设置时,我想知道是否有其他更高级的获取度量数据的方法.

我甚至看到一个记录每个鼠标移动的网站,我猜他们肯定不会在每个鼠标移动事件中将数据发送到数据库.

因此,简而言之,我需要什么样的技术来监控我网站上的用户活动,然后存储这些信息才能创建指标数据?我不打算重新创建GA,我只是非常有兴趣知道这种事情是如何完成的.

提前致谢

javascript metrics

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

Codahale指标:在普通Java中使用@Timed指标注释

我正在尝试使用codahale指标将指标添加到普通Java应用程序.我想使用@Timed注释,但我不清楚它使用哪个MetricRegistry,或者如何告诉它使用哪个MetricRegistry.该应用程序是一个普通的Java 8应用程序,使用Maven 3构建,没有Spring,没有Hibernate.

我在dropwizard文档中找不到有关如何实现@Timed的任何文档:https://dropwizard.github.io/metrics/3.1.0/manual/

我添加了这些依赖项:

<dependency>
  <groupId>io.dropwizard.metrics</groupId>
  <artifactId>metrics-core</artifactId>
  <version>3.1.0</version>
</dependency>
<dependency>
  <groupId>com.codahale.metrics</groupId>
  <artifactId>metrics-annotation</artifactId>
  <version>3.0.2</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

当我使用对Timer的编程调用时,我可以获得报告,因为我知道使用了哪些MetricsRegistry:

static final MetricRegistry metrics = new MetricRegistry();
private void update() throws SQLException {
  Timer.Context time = metrics.timer("domainobject.update").time();
  try {
    [...]
  } finally {
    time.stop();
  }
}
Run Code Online (Sandbox Code Playgroud)

但是当我使用更优雅的@Timed注释时,我不知道使用了哪个注册表,因此我无法创建一个记者,这意味着我无法报告指标(我甚至不确定这是否确实任何东西):

@Timed(name = "domainobject.update")
private void update() throws SQLException {
    [...]
}
Run Code Online (Sandbox Code Playgroud)

请告知如何使@Timed和其他Metrics注释在常规Java应用程序中工作.

附加信息:我发现这个奇怪的原因是我添加了Lombok框架和@ Slf4j注释确实有效.我在maven pom.xml中添加了Lombok作为依赖项:

<dependency>
  <groupId>org.projectlombok</groupId>
  <artifactId>lombok</artifactId>
  <version>1.14.8</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

我可以使用@ Sl4fj类注释向类中添加一个记录器,而不会使成员变量混乱:

@Slf4j
public class App {
  public void logsome(){
    log.info("Hello there");
  }
} …
Run Code Online (Sandbox Code Playgroud)

java metrics codahale-metrics

35
推荐指数
4
解决办法
5万
查看次数