1. 63

  2. 13

    Nice. This makes me a little nostalgic for the big ecosystem of “shareware” utilities MacOS used to have. Can I get some contextual menu extensions, please?

    1. 12

      It’s a pity Apple charge the $99 annual fee for notarising apps these days. It’s not a huge amount of money, but it’s enough to be a bit of a deterrent for folks building small utility apps like this.

      1. 2

        I’d gladly notarise the app for you. The downside is that my name would be on it and it feels a bit like passing your work off as mine.

        I’m not sure where my name would be shown, but I suspect it would be around somewhere visible to the user.

    2. 3

      Nifty! Would you consider adding it to homebrew?

      1. 12

        I’ve added it to my homebrew tap, so the following should now work:

        brew tap hmarr/tap
        brew install vitals
        1. 1

          It works!

        2. 2

          Sure thing, I created an issue for that so feel free to subscribe to that / follow along there.

        3. 2

          Is there any chance that this could work under MacOS 10.14 by changing an XCode config popup?

          1. 2

            It uses SwiftUI, which doesn’t seem to work on 10.14 I’m afraid.

            1. 1

              Well, darn. I want my money back.

              Something to look forward to when I finally upgrade…

              1. 1

                Hah! If you feel like converting the SwiftUI code to AppKit you could have it sooner ;-)

          2. 1

            Thanks so much for this. I want to get into Swift and I think this small app is enough to boostrap me.

            1. 1

              I’m relatively new to Swift too, so it’s probably not the most idiomatic Swift project out there, but I’m glad it’s helpful!

            2. 1

              I don’t understand why people keep building these apps. Isn’t top -s 3 -l 0 -n 5 -u enough?

              1. 24

                The output from that command is hard to parse, isn’t easily menubar accessible, there’s a whole “What problem does it solve section?” on the website. No, sometimes top -s 3 -l 0 -n 5 -u is not enough.

                1. 6

                  While I am on the “why?” team, in this case it is pretty obvious that top is not enough for simple reason - there is no history. You can run that command and parse it manually, but in the end you still will need some way to present that in readable way - which mean writing mostly what @hmarr presented us there.

                2. 1

                  Nice! Although I do have to say since the M1 in December I haven’t once had to open Activity Monitor do to slowness. Wow, can’t believe I just typed that. Kind of remarkable, since AM was previously a multiple times per day thing.

                  One problem I still have is sometimes internet speed slows down. Any chance you could add a vital for that?

                  1. 2

                    I’m not sure where you’d get the info about slowdowns.

                    To know about wifi issues (e.g. congestion) is to get your wireless access point to tell you, or measure to something on your local network but not on wifi.

                    To understand your connection to the Internet, you can ask your home router, for example, but really it’s best to do a speed test against somewhere that should be able to respond with good latency and bandwidth.

                    I’m not sure MacOS has the ability to measure either of the above, so third party services would need to be used - unless I’m missing something.

                    1. 2

                      Ping timings to both the router and something external like google should give some signal. If running as root was acceptable, that’d open up the possibility of using libpcap to show packet loss.

                    2. 2

                      I’d like to add something for network issues – I have the exact same problem. Right now I’m using bitbar with a shell script that pings both my router and google every 10 seconds to show me if the problem is my wifi or the internet connection. Integrating something like that into Vitals would be neat.