Skip to content

Analysis errors on SymmetricalLogScale #30

@FoxxMD

Description

@FoxxMD

I am trying to use goeffel-analysis for the first time to plot cpu percentage but it is erroring out regardless of the metric I use.

The capture command/output looks ok:

[foxx@foxx-arch crowdsecBench]$ sudo goeffel --pid 2711735
250922-11:17:26.728 INFO: Collect time series for the following metrics: 
  unixtime
  isotime_local
  monotime
  proc_pid
  proc_cpu_util_percent_total
  proc_cpu_util_percent_user
  proc_cpu_util_percent_system
  proc_cpu_id
  proc_ctx_switch_rate_hz
  proc_disk_read_throughput_mibps
  proc_disk_write_throughput_mibps
  proc_disk_read_rate_hz
  proc_disk_write_rate_hz
  proc_num_ip_sockets_open
  proc_num_threads
  proc_num_fds
  proc_mem_rss_percent
  proc_mem_rss
  proc_mem_vms
  proc_mem_dirty
  system_loadavg1
  system_loadavg5
  system_loadavg15
  system_mem_available
  system_mem_total
  system_mem_used
  system_mem_free
  system_mem_shared
  system_mem_buffers
  system_mem_cached
  system_mem_active
  system_mem_inactive
250922-11:17:27.244 INFO: Create HDF5 file: ./goeffel-timeseries__20250922-111726.hdf5
250922-11:17:27.258 INFO: Updated HDF5 file: wrote 1 sample(s) in 0.01365 s
250922-11:17:37.253 INFO: Updated HDF5 file: wrote 20 sample(s) in 0.00634 s
250922-11:17:47.256 INFO: Updated HDF5 file: wrote 20 sample(s) in 0.00651 s
250922-11:17:57.259 INFO: Updated HDF5 file: wrote 20 sample(s) in 0.00697 s
250922-11:18:07.261 INFO: Updated HDF5 file: wrote 20 sample(s) in 0.00684 s
250922-11:18:11.249 INFO: Process went away. Exit, indicate success
250922-11:18:11.249 INFO: Wait for producer buffer to become empty
250922-11:18:11.249 INFO: Wait for consumer process to terminate
250922-11:18:11.256 INFO: Updated HDF5 file: wrote 7 sample(s) in 0.00671 s
250922-11:18:11.258 INFO: Consumer process terminated

The error I get when running analysis:

[foxx@foxx-arch crowdsecBench]$ goeffel-analysis plot goeffel-timeseries__20250922-11172
6.hdf5 --metric proc_cpu_util_percent_system
250922-11:18:50.000 INFO: Read data from HDF5 file: goeffel-timeseries__20250922-111726.hdf5
250922-11:18:50.042 INFO: Convert `unixtime` column to pandas' timestamps
250922-11:18:50.043 INFO: Number of samples (rows): 88
250922-11:18:50.043 INFO: Check monotonicity of time index
250922-11:18:50.043 INFO: Time series start time (UTC): 2025-09-22 15:17:27.238580942
250922-11:18:50.043 INFO: Time series time span: '43s'
250922-11:18:50.123 INFO: Plot column {'y_label': 'Proc CPU util (total) [%]', 'rolling_wdw_width_seconds': 10} from proc_cpu_util_percent_total
250922-11:18:50.189 INFO: Perform rolling window analysis
250922-11:18:50.213 INFO: Plot column {'y_label': 'Proc RSS mem [%]', 'rolling_wdw_width_seconds': 10} from proc_mem_rss_percent
250922-11:18:50.237 INFO: Perform rolling window analysis
250922-11:18:50.262 INFO: Plot column {'y_label': 'Proc read() rate [Hz]', 'rolling_wdw_width_seconds': 10, 'yscale': 'symlog'} from proc_disk_read_rate_hz
250922-11:18:50.287 INFO: Perform rolling window analysis
250922-11:18:50.314 INFO: symlog: set lower ylim to 0
Traceback (most recent call last):
  File "/home/foxx/.local/bin/goeffel-analysis", line 7, in <module>
    sys.exit(main())
             ~~~~^^
  File "/home/foxx/.local/pipx/venvs/goeffel/lib/python3.13/site-packages/goeffel/analysis.py", line 106, in main
    cmd_simpleplot()
    ~~~~~~~~~~~~~~^^
  File "/home/foxx/.local/pipx/venvs/goeffel/lib/python3.13/site-packages/goeffel/analysis.py", line 380, in cmd_simpleplot
    fig, custom_tight_layout_func = plot_simple_magic(dataframe, metadata)
                                    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
  File "/home/foxx/.local/pipx/venvs/goeffel/lib/python3.13/site-packages/goeffel/analysis.py", line 565, in plot_simple_magic
    plot_subplot(axs[idx-1], column_plot_config, series, subplotsettings)
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/foxx/.local/pipx/venvs/goeffel/lib/python3.13/site-packages/goeffel/analysis.py", line 788, in plot_subplot
    ax.set_yscale(
    ~~~~~~~~~~~~~^
        'symlog',
        ^^^^^^^^^
    ...<2 lines>...
        subsy=[2, 3, 4, 5, 6, 7, 8, 9]
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/home/foxx/.local/pipx/venvs/goeffel/lib/python3.13/site-packages/matplotlib/axes/_base.py", line 74, in wrapper
    return get_method(self)(*args, **kwargs)
           ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/home/foxx/.local/pipx/venvs/goeffel/lib/python3.13/site-packages/matplotlib/axis.py", line 794, in _set_axes_scale
    ax._axis_map[name]._set_scale(value, **kwargs)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/home/foxx/.local/pipx/venvs/goeffel/lib/python3.13/site-packages/matplotlib/axis.py", line 763, in _set_scale
    self._scale = mscale.scale_factory(value, self, **kwargs)
                  ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/foxx/.local/pipx/venvs/goeffel/lib/python3.13/site-packages/matplotlib/scale.py", line 728, in scale_factory
    return scale_cls(axis, **kwargs)
TypeError: SymmetricalLogScale.__init__() got an unexpected keyword argument 'linthreshy'. Did you mean 'linthresh'?

The same error occurs for all metrics I've tried to plot. I tried with two different capture files, both produce the same error. I can't attach the files but I have them to here to download, if you'd like:

https://i.foxxmd.dev/K95zrEYg42An.hdf5
https://i.foxxmd.dev/EEQxP03F3jMq.hdf5

I am running goeffel version 0.3.0 installed using pipx.

Can you please help me figure out what is going wrong here? Thanks

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions