Giter VIP home page Giter VIP logo

permon's Introduction

permon's People

Contributors

bminixhofer avatar dependabot[bot] avatar skrish13 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

permon's Issues

git config windows

git config edit does not work on windows.

Stack Trace

Traceback (most recent call last):
  File "c:\programdata\miniconda3\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\programdata\miniconda3\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\ProgramData\Miniconda3\Scripts\permon.exe\__main__.py", line 9, in <module>
  File "c:\programdata\miniconda3\lib\site-packages\permon\__init__.py", line 149, in main
    config.edit_config()
  File "c:\programdata\miniconda3\lib\site-packages\permon\config.py", line 81, in edit_config
    subprocess.call([config_path])
  File "c:\programdata\miniconda3\lib\subprocess.py", line 304, in call
    with Popen(*popenargs, **kwargs) as p:
  File "c:\programdata\miniconda3\lib\subprocess.py", line 756, in __init__
    restore_signals, start_new_session)
  File "c:\programdata\miniconda3\lib\subprocess.py", line 1155, in _execute_child
    startupinfo)
OSError: [WinError 193] %1 is not a valid Win32 application

Investigate cross-browser compatibility

Permon uses Babel to make the Javascript cross-browser compatible. However, I noticed some problems with the Request API in Safari. Some other browsers might not work as expected too.
Permon does however already work on the latest versions of major browsers so it is not vital to fix this before 2.0.0.

If you encounter any issues with cross-browser compatibility, please post them here. I will systematically test all browsers I want to support later and add a checklist for tested browsers here.

Add get started on terminal: "pip install permon; permon -terminal"

I had to search for how to use permon in the terminal. It would have helped me if there was a two-liner, titled "Get started" at the Readme or Documentation, which says:

pip install permon
permon -terminal

This was not apparent for me.

Edit: The command permon terminal did not work on my Ubuntu 16.04, not sure if that was actually intended, or not.

Make contributing to permon on Windows easier

At the moment, contributing to Permon is only well supported on Linux. The issues are:

  • The scripts provided in the bin directory are bash scripts. They are not trivial to get to work on windows. It is not clear to me what the best solution would be. The things I've considered are:
  1. Make .bat version of each script. That is kind of inelegant and creates a lot of redundancy.
  2. Rewrite the scripts in Python. This is in my opinion more viable but might take overly much code compared to the shell version.
  • The contributor guide is aimed at Linux users and uses Linux commands. This should be made platform independent without making it much more complex.

Using Unicode block characters would result in higher resolution graphs - improvement

We could use the quadrants (U+2596-U+259F) for higher value (2x) and temporal (2x) resolutions. Using eights (U+2581-U+2588) would yield 8x higher value resolution but no time resolution improvement.

The Terminals Working Group also has a proposal (not accepted just yet - http://www.unicode.org/L2/L2017/17435-terminals-prop.pdf) that would include Teletext ITU T.100 mosaic characters (3x higher value, 2x higher time) resolutions, the T.101 smoothed mosaic characters (same resolution but prettier), as well as improved eights.

The graphs would need to be filled for the current eights and the proposed smoother mosaic chars, but not for the current quadrants and proposed sextants.

Test permon on MacOS

Permon already works well on Linux, so I do not expect many issues on MacOS. I would greatly appreciate if someone else could test it because I do not currently have access to a mac. The test procedure on MacOS would be:

  1. Install permon: pip install git+https://github.com/bminixhofer/permon
    1.1 Try permon terminal, permon browser and permon native and manually ensure adding / removing stats works and all stats are properly displayed.
    1.2 Try adding a simple custom stat as described in the user doc.
  2. Clone permon and set it up for development as described in the contributor guide.
    2.1 Run the tests and see if all of them pass: pytest tests/.
    2.2 Build the docs (./bin/build-docs.sh) and the browser frontend (./bin/build-browser.sh) and see if these work without errors.

Make sure to do all of this in a virtual environment so that dependencies are not already installed.

Consider compiling permon

permon could be compiled using pyqtdeploy or pyinstaller.
pyqtdeploy looks like the better choice if we stay with Qt in the native frontend because you can manually include all needed parts of PyQt with it. PyInstaller would package the whole PyQt package.

At the moment, the user needs to have Python 3 installed, and needs a couple of python modules. PySide2, for example, is over 100MB large.
It would definitely be good if we could package those. It would also probably bring a performance improvement.
The problem is that that would make the user not able to add custom stats anymore. That is an important feature so the next step is investigating if it is possible to compile a python module but still import .py files from it without recompiling.

More Stats

More stats are always good :)
If anyone is reading this and has an idea for a stat that would be interesting to monitor, please comment here.
List of the stats that I plan to implement at the moment:

Core

  • RAM Usage
  • CPU Usage
  • Disk Read Speed
  • Disk Write Speed
  • CPU Temperature - only on some PCs. investigate further

GPU

  • RAM Usage - only for nvidia GPUs
  • Temperature

Data Science

  • RAM Usage of objects in a python jupyter notebook

Publish on PyPI

Now that there is some interest in this project, it should be published on the Python Package Index to make setup easier. Unfortunately, the names performance and perf are already taken on PyPI so we'll have to think of something else. I am very open to suggestions for that ๐Ÿ˜„

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.