perf counter cleanup (mostly intervals)

Some of these perf counters were useful during initial development, but realistically aren't needed anymore, some are redundant when we can now see the average interval from `work_queue status` and some of them simply aren't worth the cost at higher rates.
This commit is contained in:
Daniel Agar
2019-10-21 18:54:17 -04:00
committed by GitHub
parent f7e62349b3
commit 35398e05ca
10 changed files with 11 additions and 73 deletions
@@ -40,18 +40,13 @@ using namespace time_literals;
VehicleAcceleration::VehicleAcceleration() :
ModuleParams(nullptr),
WorkItem(MODULE_NAME, px4::wq_configurations::att_pos_ctrl),
_cycle_perf(perf_alloc(PC_ELAPSED, "vehicle_acceleration: cycle time")),
_sensor_latency_perf(perf_alloc(PC_ELAPSED, "vehicle_acceleration: sensor latency"))
WorkItem(MODULE_NAME, px4::wq_configurations::att_pos_ctrl)
{
}
VehicleAcceleration::~VehicleAcceleration()
{
Stop();
perf_free(_cycle_perf);
perf_free(_sensor_latency_perf);
}
bool
@@ -175,16 +170,12 @@ VehicleAcceleration::ParametersUpdate(bool force)
void
VehicleAcceleration::Run()
{
perf_begin(_cycle_perf);
// update corrections first to set _selected_sensor
SensorCorrectionsUpdate();
sensor_accel_s sensor_data;
if (_sensor_sub[_selected_sensor].update(&sensor_data)) {
perf_set_elapsed(_sensor_latency_perf, hrt_elapsed_time(&sensor_data.timestamp));
ParametersUpdate();
SensorBiasUpdate();
@@ -207,15 +198,10 @@ VehicleAcceleration::Run()
_vehicle_acceleration_pub.publish(out);
}
perf_end(_cycle_perf);
}
void
VehicleAcceleration::PrintStatus()
{
PX4_INFO("selected sensor: %d", _selected_sensor);
perf_print_counter(_cycle_perf);
perf_print_counter(_sensor_latency_perf);
}
@@ -36,7 +36,6 @@
#include <lib/conversion/rotation.h>
#include <lib/mathlib/math/Limits.hpp>
#include <lib/matrix/matrix/math.hpp>
#include <lib/perf/perf_counter.h>
#include <px4_config.h>
#include <px4_log.h>
#include <px4_module_params.h>
@@ -101,9 +100,6 @@ private:
matrix::Vector3f _scale;
matrix::Vector3f _bias;
perf_counter_t _cycle_perf;
perf_counter_t _sensor_latency_perf;
uint8_t _selected_sensor{0};
};
@@ -40,18 +40,13 @@ using namespace time_literals;
VehicleAngularVelocity::VehicleAngularVelocity() :
ModuleParams(nullptr),
WorkItem(MODULE_NAME, px4::wq_configurations::rate_ctrl),
_cycle_perf(perf_alloc(PC_ELAPSED, "vehicle_angular_velocity: cycle time")),
_sensor_latency_perf(perf_alloc(PC_ELAPSED, "vehicle_angular_velocity: sensor latency"))
WorkItem(MODULE_NAME, px4::wq_configurations::rate_ctrl)
{
}
VehicleAngularVelocity::~VehicleAngularVelocity()
{
Stop();
perf_free(_cycle_perf);
perf_free(_sensor_latency_perf);
}
bool
@@ -214,8 +209,6 @@ VehicleAngularVelocity::ParametersUpdate(bool force)
void
VehicleAngularVelocity::Run()
{
perf_begin(_cycle_perf);
// update corrections first to set _selected_sensor
SensorCorrectionsUpdate();
@@ -224,8 +217,6 @@ VehicleAngularVelocity::Run()
sensor_gyro_control_s sensor_data;
if (_sensor_control_sub[_selected_sensor].update(&sensor_data)) {
perf_set_elapsed(_sensor_latency_perf, hrt_elapsed_time(&sensor_data.timestamp));
ParametersUpdate();
SensorBiasUpdate();
@@ -251,8 +242,6 @@ VehicleAngularVelocity::Run()
sensor_gyro_s sensor_data;
if (_sensor_sub[_selected_sensor].update(&sensor_data)) {
perf_set_elapsed(_sensor_latency_perf, hrt_elapsed_time(&sensor_data.timestamp));
ParametersUpdate();
SensorBiasUpdate();
@@ -276,8 +265,6 @@ VehicleAngularVelocity::Run()
_vehicle_angular_velocity_pub.publish(angular_velocity);
}
}
perf_end(_cycle_perf);
}
void
@@ -291,7 +278,4 @@ VehicleAngularVelocity::PrintStatus()
} else {
PX4_WARN("sensor_gyro_control unavailable for selected sensor: %d (%d)", _selected_sensor_device_id, _selected_sensor);
}
perf_print_counter(_cycle_perf);
perf_print_counter(_sensor_latency_perf);
}
@@ -36,7 +36,6 @@
#include <lib/conversion/rotation.h>
#include <lib/mathlib/math/Limits.hpp>
#include <lib/matrix/matrix/math.hpp>
#include <lib/perf/perf_counter.h>
#include <px4_config.h>
#include <px4_log.h>
#include <px4_module_params.h>
@@ -109,9 +108,6 @@ private:
matrix::Vector3f _scale;
matrix::Vector3f _bias;
perf_counter_t _cycle_perf;
perf_counter_t _sensor_latency_perf;
uint32_t _selected_sensor_device_id{0};
uint8_t _selected_sensor{0};
uint8_t _selected_sensor_control{0};