【问题标题】:Java Code for Calculating Packet Per Second用于计算每秒数据包的 Java 代码
【发布时间】:2015-10-24 19:27:31
【问题描述】:

我有一个方法可以在 SDN 中接收从交换机到泛光灯控制器的数据包,这意味着每个新的数据包都会触发此方法。我想用那个方法计算每秒的数据包。

这是我的尝试;它是正确的?

int CLoad,avergeLoad =0;
final String switchId = sw.getStringId();
        CLoad = CLoad + 1;
        avergeLoad = CLoad;
        loadTable.put(switchId, avergeLoad);
        ScheduledThreadPoolExecutor exec = new ScheduledThreadPoolExecutor(1);
        exec.scheduleAtFixedRate(new Runnable() 
               {
                public void run() 
                  {
                    avergeLoad =(avergeLoad + CLoad)/2;
                loadTable.put(switchId, avergeLoad);
                   CLoad=0;
                  }
               }, 40, 1000, TimeUnit.SECONDS); 

【问题讨论】:

  • 这甚至不应该编译。您正在引用一个未分配的变量。目前尚不清楚您要做什么,即使在使其可编译后也没有人能说它是否正确。

标签: java packet rate sdn


【解决方案1】:

你可以使用Metrics meter

仪表以几种不同的方式测量事件的发生率。这 平均速率是事件的平均速率。它通常对 琐事,但因为它代表了您的应用程序的总费率 整个生命周期(例如,处理的请求总数,除以 通过进程运行的秒数),它没有 提供一种新近感。幸运的是,仪表还记录了三种不同的 指数加权移动平均利率:1 分钟、5 分钟和 15 分钟 移动平均线。

马文:

<dependency>
    <groupId>io.dropwizard.metrics</groupId>
    <artifactId>metrics-core</artifactId>
    <version>3.1.2</version>
</dependency>

示例代码:

//Setup the reporter
ConsoleReporter reporter = ConsoleReporter.forRegistry(metrics)
       .convertRatesTo(TimeUnit.SECONDS)
       .convertDurationsTo(TimeUnit.MILLISECONDS)
       .build();
   reporter.start(1, TimeUnit.SECONDS);

//Initialize Metrics Metter
final Meter getRequests = registry.meter(name(WebProxy.class, "get-requests", "requests"));

// Mark when event occurs
getRequests.mark();

参考:

  1. Getting started
  2. Metrics meter

【讨论】:

    【解决方案2】:

    您可以使用 Openflowplugin 项目实施并根据您的需要进行调整。它包含一个统计管理器模块,可以获取有关流、端口、仪表、队列等的大量有用信息。

    参考:https://wiki.opendaylight.org/view/OpenDaylight_OpenFlow_Plugin:Statistics

    【讨论】:

      猜你喜欢
      • 2018-08-02
      • 2018-02-21
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 2015-09-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多