netprof privapi + ui (wip histograms)
Some checks failed
ContinuousDelivery / linux-ubuntu (push) Has been cancelled
ContinuousDelivery / android (map[ndk_abi:arm64-v8a vcpkg_toolkit:arm64-android]) (push) Has been cancelled
ContinuousDelivery / android (map[ndk_abi:armeabi-v7a vcpkg_toolkit:arm-neon-android]) (push) Has been cancelled
ContinuousDelivery / android (map[ndk_abi:x86_64 vcpkg_toolkit:x64-android]) (push) Has been cancelled
ContinuousDelivery / windows (push) Has been cancelled
ContinuousDelivery / windows-asan (push) Has been cancelled
ContinuousIntegration / linux (push) Has been cancelled
ContinuousIntegration / android (map[ndk_abi:arm64-v8a vcpkg_toolkit:arm64-android]) (push) Has been cancelled
ContinuousIntegration / android (map[ndk_abi:armeabi-v7a vcpkg_toolkit:arm-neon-android]) (push) Has been cancelled
ContinuousIntegration / android (map[ndk_abi:x86_64 vcpkg_toolkit:x64-android]) (push) Has been cancelled
ContinuousIntegration / macos (push) Has been cancelled
ContinuousIntegration / windows (push) Has been cancelled
ContinuousDelivery / release (push) Has been cancelled
Some checks failed
ContinuousDelivery / linux-ubuntu (push) Has been cancelled
ContinuousDelivery / android (map[ndk_abi:arm64-v8a vcpkg_toolkit:arm64-android]) (push) Has been cancelled
ContinuousDelivery / android (map[ndk_abi:armeabi-v7a vcpkg_toolkit:arm-neon-android]) (push) Has been cancelled
ContinuousDelivery / android (map[ndk_abi:x86_64 vcpkg_toolkit:x64-android]) (push) Has been cancelled
ContinuousDelivery / windows (push) Has been cancelled
ContinuousDelivery / windows-asan (push) Has been cancelled
ContinuousIntegration / linux (push) Has been cancelled
ContinuousIntegration / android (map[ndk_abi:arm64-v8a vcpkg_toolkit:arm64-android]) (push) Has been cancelled
ContinuousIntegration / android (map[ndk_abi:armeabi-v7a vcpkg_toolkit:arm-neon-android]) (push) Has been cancelled
ContinuousIntegration / android (map[ndk_abi:x86_64 vcpkg_toolkit:x64-android]) (push) Has been cancelled
ContinuousIntegration / macos (push) Has been cancelled
ContinuousIntegration / windows (push) Has been cancelled
ContinuousDelivery / release (push) Has been cancelled
This commit is contained in:
54
src/tox_netprof_ui.hpp
Normal file
54
src/tox_netprof_ui.hpp
Normal file
@@ -0,0 +1,54 @@
|
||||
#pragma once
|
||||
|
||||
#include "./tox_private_impl.hpp"
|
||||
|
||||
#include <cstdint>
|
||||
#include <vector>
|
||||
#include <map>
|
||||
|
||||
class ToxNetprofUI {
|
||||
ToxPrivateImpl& _tpi;
|
||||
|
||||
bool _enabled {true};
|
||||
bool _show_window_table {false};
|
||||
bool _show_window_histo {false};
|
||||
|
||||
// table delta
|
||||
std::map<uint8_t, uint64_t> _udp_ctx_prev;
|
||||
std::map<uint8_t, uint64_t> _udp_crx_prev;
|
||||
std::map<uint8_t, uint64_t> _udp_btx_prev;
|
||||
std::map<uint8_t, uint64_t> _udp_brx_prev;
|
||||
std::map<uint8_t, uint64_t> _tcp_ctx_prev;
|
||||
std::map<uint8_t, uint64_t> _tcp_crx_prev;
|
||||
std::map<uint8_t, uint64_t> _tcp_btx_prev;
|
||||
std::map<uint8_t, uint64_t> _tcp_brx_prev;
|
||||
|
||||
// table heat
|
||||
std::map<uint8_t, float> _udp_ctx_heat;
|
||||
std::map<uint8_t, float> _udp_crx_heat;
|
||||
std::map<uint8_t, float> _udp_btx_heat;
|
||||
std::map<uint8_t, float> _udp_brx_heat;
|
||||
std::map<uint8_t, float> _tcp_ctx_heat;
|
||||
std::map<uint8_t, float> _tcp_crx_heat;
|
||||
std::map<uint8_t, float> _tcp_btx_heat;
|
||||
std::map<uint8_t, float> _tcp_brx_heat;
|
||||
|
||||
// histogram totals
|
||||
uint64_t _udp_tctx_prev;
|
||||
uint64_t _udp_tcrx_prev;
|
||||
uint64_t _udp_tbtx_prev;
|
||||
uint64_t _udp_tbrx_prev;
|
||||
std::vector<float> _udp_tctx;
|
||||
std::vector<float> _udp_tcrx;
|
||||
std::vector<float> _udp_tbtx;
|
||||
std::vector<float> _udp_tbrx;
|
||||
|
||||
const float _value_add_interval {1.f}; // every second
|
||||
float _time_since_last_add {0.f};
|
||||
|
||||
public:
|
||||
ToxNetprofUI(ToxPrivateImpl& tpi) : _tpi(tpi) {}
|
||||
|
||||
void tick(float time_delta);
|
||||
float render(float time_delta);
|
||||
};
|
||||
Reference in New Issue
Block a user