#performance tips and tricks

1 messages · Page 1 of 1 (latest)

waxen egret
#

are there some kind of tips and trick to render the running of PMM more performant?

odd stagBOT
#

Welcome @waxen egret!

Someone from <@&938443185347244033> will assist when they're available.

Including the meta.log from the beginning is a huge help, type !logs for more information.

#

You can press the "Close Post" button above or type /close at any time to close this post.

charred sky
#

More performant how, specifically?

waxen egret
#

well ... for a big library... PMM runs for days...
then of course you can start sheduling so it runs quicker trough some parts
then I applied some caching so it runs faster...

but still... takes me few days to run completely all things

#

it would make more sense for me for example to only treat new things added since last run

#

was just wondering if there was a guide.. or a youtube ... or something made by someone in the past with some recommendations

shadow isle
#

do you have a log

#

we can see if you're doing anything redundant

#

but the more you ask PMM to do the longer it's going to take sadly

waxen egret
#

have not been able to run the full thing in the past runs... so dont have a full log handy

#

and yes.. I might have a lot configured

shadow isle
#

send over what you do have

#

it will give us an idea of what you have running

odd stagBOT
#

📝 If you want to review this again, rednaxela9546:
:one: Right-click (or long press with phone) on the message that contains the log
:two: Select: Copy Message Link
:three: Use the command: /logscan <message_link> or !logscan <message_link> and paste the value copied from the previous step where you see <message_link> 📝

waxen egret
#

I just took the biggest one I had handy

shadow isle
#

okay so that is a LOT lol

waxen egret
#

its a hobby 🙂

shadow isle
#
metadata_files:             
- git: meisnate12/ShowCharts

can be removed or moved into collection_files

#

- pmm: flixpatrol is no longer available so you can remove that

waxen egret
#

???

shadow isle
#

see #announcements

#

- pmm: genre effectively repeats the Categories so it's a bit redundant, plus they're Smart Collections so you don't need to re-run them every time

waxen egret
#

😢

#

I had just found this... and I thought it was excellent

shadow isle
#

yeah they've put a lot of blockers in place to stop us

#

there are other solutions available

waxen egret
#

I can imagine...

shadow isle
waxen egret
#

thanks for that!

#

I dont get your point on pmm genre

shadow isle
#

which point, I made two 😄

waxen egret
shadow isle
#

well genre collecions are redundant

#

because Plex has the "Categories" tab

waxen egret
#

aha.. I see

shadow isle
waxen egret
#

does it also work with the genre override ?

shadow isle
#

genre override?

waxen egret
#

mass_genre_update: tmdb # Update all genres from tmdb

shadow isle
#

yes

waxen egret
#

ok thanks

shadow isle
#

isn't that where the default genres come from anyway?

#

I think Plex pulls genre data from TMDb?

waxen egret
#

I'm not sure where plex is getting all its info 🙂

shadow isle
#

I'm pretty sure it is, which would make that operation redundant

waxen egret
#

Ok I removed the genre

shadow isle
#

cool

#

- pmm: studio is a Smart Collection file

#

so you only need to run that like once a month

#

same for - pmm: region

#

and - pmm: continent

waxen egret
#

ok will add a shedule

shadow isle
#

and decade

#

and network

#

you have no indentation here and are missing template_variables:

 - pmm: streaming                                # Streaming on Disney+, Netflix, etc.              
   limit: 4                                                                                         
   sep_style: gray                                                                                  
   use_separator: true                                                                              
   region: be                                                                                       
   Exclude: showtime, peacock, now, hayu, crunchyroll, crave, britbox, bet, all4
#

exclude should be lowercase

#

a lot of those excludes are already excluded based on your region

waxen egret
#

how do you see the syntax is wrong?

#

is it by knowing it by heart? or you have a way to visualize that?

shadow isle
#

A bit of both

last krakenBOT
#

We highly recommend to use a decent editor software to manage PMM's .yml files.

Standard text editors (such as Notepad and TextEdit) often save text in a rich-text format which can result in text formatted in a way that PMM cannot read. But not only that, they also make it very hard to visually distinguish the formatting, such as indentation.
PMM requires indents to always be multiples of 2 spaces, and not TAB stops. If you have one space too much, or too few, it is very hard to notice that with a editor like Notepad.
An editor that is more focused on editing code instead of text will automatically detect the .YML fileformat and adjust things to make it easier to work. They can also try to detect possible errors even before you actually run the .yml in PMM.

This can save a lot of time and headaches.

Preferred:
Visual Studio Code (Windows/Mac/Linux, Opensource & Free) Website
Additionally, install the indent-rainbow by oderwat extension and the YAML by Red Hat extension and leverage our schema.json file by adding this to the top of your config.yml file: # yaml-language-server: $schema=https://raw.githubusercontent.com/meisnate12/Plex-Meta-Manager/nightly/json-schema/config-schema.json

Other options:
Notepad++ (Windows only, Opensource & Free)
Website

Sublime Text (Windows/Mac/Linux, Paid)
Website

For further details and a short list of highly recommended extensions, you can also take a look here.

Here is an example of how Visual Studio Code works with indent-rainbow plugin and using our PMM schema (Click on image to get a better view):

shadow isle
#

adding the # yaml-language-server: $schema=https://raw.githubusercontent.com/meisnate12/Plex-Meta-Manager/nightly/json-schema/config-schema.json to the top of the config.yml and opening it in a code-aware editor such as VSCode helps identify issues

#

I spotted that issue without it though lol

waxen egret
#

I now installed sublime text

shadow isle
#

I don't know if that supports the yaml-language-server out of the box (the thing that checks the config against what we expect to see and highlights errors)

charred sky
#

All of the defaults get customized like this:

 - pmm: whatever
   template_variables:
     bing: 2                                                                                         
     bang: 4                                                                                         
     boing: 6                                                                                         

So anything that doesn't match that pattern and isn't a schedule is going to be wrong.

waxen egret
#

thanks for helping me! much appreciated

charred sky
#

For example, VS Code shows:

waxen egret
#

I've installed vstudio now

#

helps a lot

charred sky
#

Total run time:

Run Time: 1 day, 5:27:49

just shy of 30 hours.

Each library has a summary at the end showing how long each "section" took:

|============================================================= TV Shows Summary =============================================================|
|                                                                                                                                            |
| Title                       | Run Time |                                                                                                   |
| =========================== | ======== |                                                                                                   |
| Library Loading and Mapping |  0:00:13 |                                                                                                   |
| Library Operations          |  0:03:06 |                                                                                                   |
| Library Images Files        |  0:00:00 |                                                                                                   |
| Library Metadata Files      |  0:00:00 |                                                                                                   |
| Library Overlay Files       | 23:33:11 |                                                                                                   |
| Library Collection Files    |  3:00:35 |                                                                                                   |

Most of that 30-hour runtime was overlays on your TV library.

waxen egret
#

why does it say schedule°overlays is not at the right place?

charred sky
waxen egret
#

ok so I can ignore that

#

any idea why this would not be ok?

#

I thought indentation.. but thats not helping

charred sky
# waxen egret

Hovering over it should say what it's complaining about, but it's probably that the specific setup you have there isn't accounted for. The schema does have limitations.

waxen egret
charred sky
waxen egret
charred sky
#

I'm not saying the schedules aren't OK, I'm saying the schema doesn't contain the relevant code to know they are OK.

waxen egret
#

ah ok

charred sky
#

That TV library contains

[INFO]     | Loading All Episodes from Library: TV Shows                                                                                                |
[INFO]     | Loaded 59603 Episodes                                                                                                                      |

You are applying ten overlays explicitly on episodes; four of them by design apply to every episode.

It took:

|                                                        Overlays Run Time: 23:33:11                                                         |

to run all the filters to decide what overlays applied, then download, overlay, and reupload those 59603 [plus all the show and season] poster images to Plex.

Subsequent runs should be faster since presumably a lot of those won't change, but these episode-level overlays are what's killing you. Without those your runtime would have been less than 6 hours.

waxen egret
#

the problem I see is that on subsequent runs ... it seems it is checking them again as there is no critic rating for the episode

#

maybe will ditch this to win time

#

the thing that also goes slow is :
| Malabimba | No TMDb ID for Guid: local://95587 |
| Masha Natasha | No TMDb ID for IMDb ID: tt4887358 |
| A Matter of Justice | No TMDb ID for IMDb ID: tt0107530 |

#

it seems its not caching that previously it didnt find an imdb id...

charred sky
#

It looks again since maybe one has been supplied since the last time.

#

If you ask PMM to put a rating on every episode, of course it's going to look at every episode every run to see if there's been a change to the rating.

waxen egret
#

yes ... its overkill

charred sky
#

I personally don't get the point of any ratings on the poster, but especially on episodes. Am I going to skip some episode of some show based on rating? Most likely not.

waxen egret
#

you're right 🙂

#

consider it deleted ... 🙂

charred sky
#

@waxen egret Anything further needed here? If not, please type /close and hit enter.