Jump to content

New Plugin - Disk Space


chef

Recommended Posts

Request

 

Could we also have some tabular results besides the graphs?

 

e.g. i have a powershell script that i created for listing my drives


DeviceID VolumeName TypeDrive          Size (Bytes) Free Space (Bytes) Size (GiB) Free Space (GiB) Size (TiB) Free Space (TiB)
-------- ---------- ---------          ------------ ------------------ ---------- ---------------- ---------- ----------------
C:       System     Fixed local disk   459399372800       405667491840     427.85           377.81      0.418            0.369
D:                  Compact disk                                                0                0          0                0
E:                  Compact disk                                                0                0          0                0
F:       Data       Fixed local disk  1920256172032      1374443438080    1788.38          1280.05      1.746             1.25
G:       Media      Network disk     69036277682176     23837960343552   64295.04         22200.83     62.788            21.68
M:       Media      Network disk     69036277682176     23837960343552   64295.04         22200.83     62.788            21.68
P:       Media      Network disk     69036277682176     23837960343552   64295.04         22200.83     62.788            21.68
S:       Media      Network disk     69036277682176     23837960343552   64295.04         22200.83     62.788            21.68
W:       Media      Network disk     69036277682176     23837960343552   64295.04         22200.83     62.788            21.68
X:       Media      Network disk     69036277682176     23837960343552   64295.04         22200.83     62.788            21.68
Y:       Media      Network disk     69036277682176     23837960343552   64295.04         22200.83     62.788            21.68
Z:       Media      Network disk     69036277682176     23837960343552   64295.04         22200.83     62.788            21.68



DeviceID VolumeName Percent Free
-------- ---------- ------------
C:       System             88.3
D:                              
E:                              
F:       Data              71.58
G:       Media             34.53
M:       Media             34.53
P:       Media             34.53
S:       Media             34.53
W:       Media             34.53
X:       Media             34.53
Y:       Media             34.53
Z:       Media             34.53
this could be simplified down as probably dont need all columns

 

if you (or anybody else wants to try the script out) Drive-Space.zip - extract the ps1 file and rightclick - choose "run with powershell" - it will open the results in notepad

Yes, should it be a dialog you can open, or replace the cards in the main page?

Link to comment
Share on other sites

PenkethBoy

Sorry to say .6 does not work for me

2020-02-01 14:07:42.583 Info HttpServer: HTTP GET http://192.168.1.80:8096/emby/GetDriveData. UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36
2020-02-01 14:07:42.586 Info DiskSpaceService: DISK SPACE -- C:\
2020-02-01 14:07:42.588 Error HttpServer: Error processing request
	*** Error Report ***
	Version: 4.3.1.0
	Command line: D:\Emby-Stable\system\EmbyServer.dll -noautorunwebapp
	Operating system: Microsoft Windows NT 6.2.9200.0
	64-Bit OS: True
	64-Bit Process: True
	User Interactive: True
	Runtime: file:///D:/Emby-Stable/system/System.Private.CoreLib.dll
	Processor count: 8
	Program data path: D:\Emby-Stable
	Application directory: D:\Emby-Stable\system
	System.NullReferenceException: System.NullReferenceException: Object reference not set to an instance of an object.
	   at DiskSpace.Api.DiskSpaceService.Get(DriveData request)
	   at Emby.Server.Implementations.Services.ServiceController.Execute(HttpListenerHost appHost, Object requestDto, IRequest req)
	   at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost appHost, IRequest httpReq, IResponse httpRes, RestPath restPath, String responseContentType, CancellationToken cancellationToken)
	   at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IRequest httpReq, ReadOnlyMemory`1 urlString, ReadOnlyMemory`1 localPath, CancellationToken cancellationToken)
	Source: DiskSpace
	TargetSite: System.String Get(DriveData)
Link to comment
Share on other sites

The request to the DiskSpaceService keeps throwing error, but it doesn't tell much about it. It always errors on your c:\ drive and doesn't get any further.

 

Are those drives shared?

 

Also, would you be interested in installing an early version from the catalog, maybe 1.0.1.4 and seeing if the request to the service is still broken?

Hi @@chef,  Sorry for the delayed response - i've been out.

 

I'm happy to help you test. I just installed .6 and straight away I got details for my 4 drives C,D,E and M (my media drive). I was able to open the settings but when I removed D & E drives (they are of no importance to Emby) and selected Save, the screen reverted to the same blank screen with "Hard Drives" and the gear icon. Again, nothing happens when the gear is selected.

 

emby log attached

 

thanks Jordy

 

EDIT: I just installed .4 as per your request. It works fine. I changed the unused space color and it appears ok - no disappearing screen. But also, No drive selector under settings but I guess that's expected with an earlier version. Image attached.

 

One thing, the C:\ drive doesn't have a name (just "Local Disk (C:)" in Explorer) so the "DriveName - Used\Total" info underneath the display for that drive looks a little odd starting with the "-"

embyserver (1).txt

post-196-0-25567900-1580574654_thumb.png

Edited by jordy
  • Like 1
Link to comment
Share on other sites

pir8radio

nice job chef, if i go in ontario i will pay you a beer.

 

lol you know that isn't going to happen,  Chef has a link at the bottom of every one of his posts, to buy him a beer now!     I think I bought him two beers, and one trip to McDonalds already!  so much good work. 

Link to comment
Share on other sites

pir8radio

Was thinking it would be below the graphs as second section - not a replacement :)

 

you know you have to keep everyone happy @@chef :lol: what about a way to enable each option..   Like enable Graphs, enable Tabular      so the picky people like me can enable one, the other, or both.

Edited by pir8radio
  • Like 1
Link to comment
Share on other sites

Sorry guys, when we introduced the config for saving drive data it also introduced errors because now we have to check against ignored values in both the JavaScript and the c#.

 

Gets a bit daunting. I try and keep the code solid, not repeating, and to only make changes in one area without breaking something else.

 

I think I've got this sorted though.

  • Like 1
Link to comment
Share on other sites

1.0.1.7

 

1. Found that big hammer @@PenkethBoy was talking about. Fixed the null reference when testing it from scratch, no previous configuration file.

Is this true for everyone?

 

2.squashed the 'emby-input' console errors.

Note: learned something... just using the class "emby-input" is good enough to style server elements, is="emby-input" attribute just throws errors in the console... Yes it's been properly defined in node requirements... So is this worth telling Luke about??

 

3. Changed default available outline color to black, so people don't immediately think... WtF is this all about and can actually see the chart as a whole.

 

I think it's not broken anymore.

 

I can start putting together the table data next if this works.

Edited by chef
  • Like 2
Link to comment
Share on other sites

CBers

Chef Just installed the plugin onto another friend's server I look after and it showed the config page.

 

I changed the colours and the threshold, but when I clicked OK the first time, the page just loaded the EMBY logo and not the graphs.

 

If I re-opened the config page and clicked OK, it loaded the graph, so just an issue on the first setup.

 

Also, the Notification is disabled by default and when I open the Scheduled Task, I just get a spinning circle until I back out.

  • Like 1
Link to comment
Share on other sites

CBers

Also, the Notification is disabled by default and when I open the Scheduled Task, I just get a spinning circle until I back out.

This is in the Chrome console.

 

scheduledtaskpage.js?v=4.3.1.0:1 Uncaught Error: null id
at ApiClient.getScheduledTask (:8096/emby/web/bower_components/emby-apiclient/apiclient.js?v=4.3.1.0:1)
at Object.refreshScheduledTask (scheduledtaskpage.js?v=4.3.1.0:1)
at HTMLDivElement.<anonymous> (scheduledtaskpage.js?v=4.3.1.0:1)
at onViewChange (:8096/emby/web/bower_components/emby-webcomponents/viewmanager/viewmanager.js?v=4.3.1.0:1)
at :8096/emby/web/bower_components/emby-webcomponents/viewmanager/viewmanager.js?v=4.3.1.0:1

This is Stable Emby server.

 

Thanks.

Link to comment
Share on other sites

This is in the Chrome console.

 

scheduledtaskpage.js?v=4.3.1.0:1 Uncaught Error: null id
at ApiClient.getScheduledTask (:8096/emby/web/bower_components/emby-apiclient/apiclient.js?v=4.3.1.0:1)
at Object.refreshScheduledTask (scheduledtaskpage.js?v=4.3.1.0:1)
at HTMLDivElement.<anonymous> (scheduledtaskpage.js?v=4.3.1.0:1)
at onViewChange (:8096/emby/web/bower_components/emby-webcomponents/viewmanager/viewmanager.js?v=4.3.1.0:1)
at :8096/emby/web/bower_components/emby-webcomponents/viewmanager/viewmanager.js?v=4.3.1.0:1
This is Stable Emby server.

 

Thanks.

Okay, I have the same thing happen to the UI the first time the OK button is pressed and the dialog tries to close.

 

It doesn't happen again afterwards, which is strange.

 

I hope it's not the UI error causing issues with the viewmanager afterward.

 

I'd better figure that UI error out. I think it's because I pass the view object into the dialog so after the options are set the dialog can tell the view to draw the charts. But that might not be the right thing to do.

Edited by chef
  • Like 1
Link to comment
Share on other sites

Does 1.0.1.8 fix that?

 

There was a error if the config XML wasn't created prior to adding ignored drive nodes to it.

 

To fix it the XML is created when the plugin is loaded now instead of trying to save and create it at the same time... If that makes sense.

 

Also the scheduled task was looking to see if count of the ignored Drives nodes was 0, when it should have been looking to see if it existed and was null.

 

I thinks at the very least the scheduled task problem is solved.

Edited by chef
  • Like 2
Link to comment
Share on other sites

.18 still has a few issues for me:

 

  • changing colors results in a blank screen with emby logo everytime
  • removing drives is fine but it only allows adding one drive at a time

I have 4 drives, if I remove 3 of them and save the one I kept shows up just fine. When I try to add one drive back, it's also fine, however if I try to add more than 1 drive it only shows the original one(s) plus the last drive I selected.

 

eg:

remove 2,3,&4 = 1 shows by itself - OK

add drive 2 = 1 & 2 show - OK

add drives 3 & 4 = 1, 2 & 3 OR 1, 2 & 4 show, depending on which I selected last

 

Hope you can understand that.

 

thanks

  • Like 1
Link to comment
Share on other sites

@@jordy please try 1.9 and see if you are still having the same problems. I was able to recreate both those errors. Thank you :)

  • Like 2
Link to comment
Share on other sites

@@jordy please try 1.9 and see if you are still having the same problems. I was able to recreate both those errors. Thank you :)

All Fixed! :)

 

Only thing left that I can see is the issue I raised previously about having a drive with no name assigned.

 

My C: Drive has not been assigned a name in Explorer. The plugin shows this as a null, therefore I get the result shown in the attached image. Perhaps you could do away with the " - " preceding the drive storage details at bottom left, or replace the null with "Local Disc" (as per windows explorer) when the drive doesn't have a name.

post-196-0-03901200-1580633964_thumb.png

Edited by jordy
  • Like 2
Link to comment
Share on other sites

PenkethBoy

@@chef

 

if i turn on the notification option from the dashboard - BUT - do not have a notification plugin installed to get an email etc

 

should the notification not appear in the alerts list like say a plugin update does etc??

Link to comment
Share on other sites

CBers

@@chef In the notification message, can you add in the threshold value please.

 

So something like "C:\ (CDRIVE) disk space almost full - 171.4 GB free, threshold 256Gb".

 

Just a thought.

  • Like 3
Link to comment
Share on other sites

All Fixed! :)

 

Only thing left that I can see is the issue I raised previously about having a drive with no name assigned.

 

My C: Drive has not been assigned a name in Explorer. The plugin shows this as a null, therefore I get the result shown in the attached image. Perhaps you could do away with the " - " preceding the drive storage details at bottom left, or replace the null with "Local Disc" (as per windows explorer) when the drive doesn't have a name.

Oh it makes it look like there is negative 90gb. I'll fix it

  • Like 1
Link to comment
Share on other sites

@@chef

 

if i turn on the notification option from the dashboard - BUT - do not have a notification plugin installed to get an email etc

 

should the notification not appear in the alerts list like say a plugin update does etc??

@@PenkethBoy

That is what I thought when I was writing the notification. For an entire day I tested it and wondered what I was missing and why it wasnt showing up in the dashboard.

 

I finally asked Luke about it, and apparently emby doesn't have an internal notifications system anymore.

 

There is no way to post to the Alerts, and Activity sections of the dashboard-ui.

Edited by chef
Link to comment
Share on other sites

Ok - odd as failed plugin scheduled task runs show up there

I know, and any plugin updates as well.

 

I think they're concerned about flooding the dashboard list with information, since there is only five or six listItems there, something might get missed (a plugin update, or schedule task error) if plugins had access to it and started posting things.

 

I wonder where those notification are stored? Maybe in a db file somewhere? Or maybe even a basic text file.

 

If we knew where it was stored then accessing it could be done.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...