On Fri, Mar 22, 2013 at 03:24:15PM -0700, Andy Zhou wrote: > This patch adds more flow related stats to the output of > "ovs-appctl dpif/show". Specifically, the follow information > are added per ofproto: > > - Max flow table size > - Average flow table size > - Average flow table add rate > - Average flow table delete rate > - Average flow entry life in milliseconds > > Feature #15366 > > Signed-off-by: Andy Zhou <az...@nicira.com>
The word 'subfacet' is misspelled in member 'total_sufacet_life_span'. I found the new members of struct ofproto_dpif a little hard to understand. How about something like this: /* Subfacet statistics. * * These keep track of the total number of subfacets added and deleted and flow * life span. They are useful for computing the flow rates stats exposed via * "ovs-appctl dpif/show". The goal is to learn about traffic patterns in ways * that we can use later to improve Open vSwitch performance in new siutations. */ long long int created; /* Time ofproto_dpif was created. */ unsigned int max_n_subfacet; /* Maximum number of flows. */ /* The average number of subfacets... */ struct avg_subfacet_rates hourly; /* ...over the last hour. */ struct avg_subfacet_rates daily; /* ...over the last day. */ long long int last_minute; /* Last time 'hourly' was updated. */ /* Number of subfacets added or deleted since 'last_minute'. */ unsigned int subfacet_add_count; unsigned int subfacet_del_count; /* Number of subfacets added or deleted from 'created' to 'last_minute'. */ unsigned long long int total_subfacet_add_count; unsigned long long int total_subfacet_del_count; /* Sum of the number of milliseconds that each subfacet existed, over the * subfacets that have been added and then later deleted. */ unsigned long long int total_subfacet_life_span; /* Incremented by the number of currently existing subfacets, each time we * pull statistics from the kernel. */ unsigned long long int total_subfacet_count; I think there is an issue with 'total_subfacet_count'. This is incremented approximately once per second, but avg_subfacet_count() only divides it by 60*minutes, where minutes is the whole of minutes elapsed. I think that this means that avg_subfacet_count() will tend to increase over the course of a minute and then drop back down as the next minute ticks over. Also, update_stats() updates total_subfacet_count but that function may run more often than once a second (if there are many subfacets) or less often than once a second (if OVS doesn't get scheduled on time) so I think that we ought to count the number of updates instead of assuming that there are exactly 60 per minute. Thanks, Ben. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev