OneMore
OneMore copied to clipboard
6.0.1 Makes my OneNote Crawl vs 5.9 (My PC may be the issue)
Problem to Solve
A clear and concise description of what the bug is. Had the most recent version prior to 6 - I used to get the odd slowdown on large pages, then installed 6 and got the "missing from ribbon", then "fixed the install" from add remove programs and that worked OK. Then I tried DL and install the latest version 6.0.1. These issues seem to be with 6.0.1.
As soon as I had installed it, my ON grinds to a halt. Clicking "file" and "options" takes about a minute to bring up the options.
Literally cursor flashing like treacle.
Other Apps seem OK (word / Outlook).
I did a reboot.
No change.
I went into Options and add-ins and disabled the add-in.
Without reboot - all was fine, back to being responsive.
Went back in and re-enabled the add-in.
Back to treacle.
Uninstalled 6.0.1, got previous version 5.9.0 installed and it worked fine.
Other things I noticed: Without add-in when OneNote is idling or I give it focus - OneMore = 0 - 1.5% CPU With add-on enabled: OneNote is idling or I give it focus - OneMore = 0 - 13-15% CPU Other things: Just went and checked on another machine and the cursor flashing and the CPU seem to have a similar issue (CPU 15%) . So it seems my main dev machine exaggerates it, But I think I'm fairly confident in 6.0.1 is much more CPU intensive than 5.9.
Is there anything I can do to help you hone in on the issue?
Screenshots
If applicable, add screenshots to help explain your problem.
Environment (if applicable)
Problem version. 01| Starting dllhost 7924, 2592 Mhz, 32 MB, en-US/en-US, v6.0.1, OneNote 15.0, Office 16.0, 2023-12-19 18:25 01| ..Windows 10 Pro, Version 22H2, Build 19041, 64 bit
Downgraded version: 01| Starting dllhost 31676, 2592 Mhz, 32 MB, en-US/en-US, v5.9.0, OneNote 15.0, Office 16.0, 2023-12-19 18:34 01| ..C:\Program Files (x86)\Microsoft Office\root\Office16\ONENOTE.EXE (16.0.17029.20068)
Additional Context
Add any other context about the problem here. Attach page XML file or the app log file as appropriate. You can find the log file here: %localappdata%\temp\OneMore.log
THE FINE PRINT This is a hobby project that I started for myself. I'm happy to take requests and will promise to consider each one carefully but offer no guarantees that I will ultimately agree to their usefulness or have time to implement any of them. If OneNote offers a "close enough" work-around then I will probably reject the request - you've been warned!
On my alt machine, I went into settings and disabled the Hashtag service , existed and reloaded and it it is back to happy. Back into settings and re-enabled the service and come out of settings and didn't even get to restart OneNote as it is back to high CPU.. Cursor sluggish. CPU running at 26.4% for OneNote.
The first time 6.0.1 starts up, it proceeds to scan all of your ON notebooks to build a database of hashtags. This can take a few minutes depending on the amount of data. Once it's done, it will scan every two minutes but only interrogate pages that have changed since the last scan.
So it is quite possible your notebooks are structured in a way that is causing it to go crazy. I have 5 notebooks, over 600 pages, and a full initial scan takes a little over a minute. Subsequent scans take about 200ms.
The hashtag service logs to the regular OneMore log file. Anything interesting there?
Above: I said "didn't even get to restart" - I think it restarted before I looked back at the screen, i.e. I think when enabling the service.
@stevencohn thanks for getting back to me. OK, 6K Pages split over 2 MS accounts (one personal one Work). I've just disabled the service on the main machine and waiting for OneNote to restart....... "We're sorry......" OK - so should I enable verbose logging before I re-enable it? Will either with or without verbose, does it give updates as it is scanning?
Above: I said "didn't even get to restart" - I think it restarted before I looked back at the screen, i.e. I think when enabling the service.
That doesn't make sense. It has to restart in order for the scan to begin again.
Yes, enable verbose logging. There are only a couple of extra verbose lines but they may be important.
I've just disabled the service on the main machine and waiting for OneNote to restart....... "We're sorry......"
You may need to kill the dllhost.exe, which should have /Processid:{88AB.. on its command line as explain on the troubleshooting page.
And thanks for hanging in there with me. With limited resources, it's hard sometimes to predict how OneMore will behave once it gets out into the world, in a hostile environment. :-)
"That doesn't make sense. It has to restart in order for the scan to begin again." yes - I agree, it was just that I was expecting to have to restart myself, I looked away and then looked back a minute later and it was running again ;-) - sorry - user lies :-).
I am enabling verbose logging, clear logs, start service, let it restart and keep an eye on CPU. Currently it is running on the spare machine: a minute in and at 30%.
@stevencohn "And thanks for hanging in there with me." That's all great - I appreciate you are innovating and things break when you do that. "With limited resources, it's hard sometimes to predict how OneMore will behave once it gets out into the world, in a hostile environment. :-)". Definitely. I write my software for a company with 60 concurrent users and I get caught out. As I have said before, I would be very happy to have more telemetry in the SW to help with pinchpoints.
Is there a DB file I can watch grow? Regards - Jason.
The usual place - %appdata%\onemore\onemore.db
It's a simple SQLite database. I use the free studio https://sqlitestudio.pl/
Aside: When it is parsing the pages to check for Tags - does it write to the pages (you'll know where I am going with this)? I can see from the logs on the alt machine that: CPU is still high 10 mins later; I can see the logs saying "updating tags on page /JAC Work Shared/AB/[R:600] The Page. Writing Tag ##01 Writing Tag ##01 Writing Tag ##02 ....
No it should be read-only! Those "Writing..." lines mean it's writing to the db
I take that back! It does write a meta tag to each page on which it finds one or more tags. I can't imagine that you've tagged many pages so far, right?
Anyway, supposing it scales linearly on comparable machinery, your 6K pages would take over 90 minutes so....
I will look into ways of governing resources during the scan.
"No" ..... promise? :-). Oh I see our cross post - so a "maybe :-)" So the meta - will it change my favourite thing - "Who edited each of the outlines"? Anyway, the alt version is now not responding and cpu riding at high. I can see an exception in there - maybe when I was clicking menus. It looks like in the log you get a page name everytime it hits a page with tags.
It looks like my tags are a co-incidental - I think maybe the logging could drop in everytime it scans n pages.
So the meta - will it change my favourite thing - "Who edited each of the outlines"?
It will update the stamp on the page but shouldn't touch outlines.
"It will update the stamp on the page but shouldn't touch outlines." - I think based on one search, that I agree :-). So the meta will update for ALL user / PC that are using those notebooks? What happens when another machine that hasn't scanned its notebook gets 6.0.1 installed and it needs to build its own DB, does it use the meta or rescan the page?
It will rescan on every machine because ever machine has its own database. A new machine starts out thinking its last scan time was DateTime.MinValue so it will think everything is new and needs to be scanned.
The meta is just a unique ID I may or may not use in the future as a way of "fixing" the not-always-constant ON page IDs. The lastModifiedTime is a separate attribute on the one:Page itself
OK - 25 mins later and it has finished on the alt machine. Closed ON, then Re-Opened ON, then CPU much happier. So it may be a "install and sit back....."
Wow. Good to know. I will definitely look at ways of restricting it, lower priority thread perhaps, and informing the user that "the hashtag service is thinking and may not be available for a while." Thanks J.
Alt machine completed now and the hashtags search is blisteringly quick, with the 6K pages with < 100 tags.
OK..... "The Index button will create a new page with an index of selected pages." - Killer feature!
Of course, I want to polish your perfection.....
- Allow Boolean logic - maybe
- Put the tag search criteria on the page.
- Have richer "index" page, e.g. .checkboxes for:
- last modified,
- full Notebook\SectionGroup\Section\Page
- number of occurances on the page.
And to highlight the issue with ON Page Search (ON's not yours)
- You can't search for #'s, so you have jason written on the page 100 times, but ##jason is just there once, you can't find ##jason, you can only just find 101 jason's
I think I can use this like the page level tags without over "touching" the page.
Do you think there would be a perf degradation with every page having tags and having a lot of tags
Brain on fire a bit now, so going to let it bed in.
Nice. And the couple I've thought about as well and reserved for v2.0 -yeah really like those :smile: :smile:
I think I can use this like the page level tags without over "touching" the page.
Exactly, I'm hoping I can deprecate that eventually, or find a hybrid approach that simplifies it overall.
Do you think there would be a perf degradation with every page having tags and having a lot of tags
Not at all. Again, it only cracks open the page if it thinks it's been updated since its last scan. MS was smart in that way, when you ask for the "notebook" you get a list of pages with last modified time, so you don't need to read the page.
@stevencohn @jasonjac2 I installed 6.0.0 yesterday and booted up Onenote and observed severe latency for about 15 minutes. I have 10 notebooks and about 2800 pages. I noticed that the CPU was loaded and assumed it was indexing the hash tags so was comfortable with it. No issues since then.
I second the request for boolean logic on them. I use embedded tags in Obsidian and it works really well, but since I can't use Obsidian for certain types of notes I was hoping this would close that gap in Onenote. But just being able to search on a single tag in the page is way less useful than being able to search on multi level tags. Still, the built in tagging system in Onenote is a joke so this is a materially beneficial feature and a step forward.
Is there a reason to upgrade to 6.0.1?
Thanks for this. 6.0.1 fixes a problem with the installer. So if you're happy then you can wait for the next release.
I think 6.0.1 was just @stevencohn trying to fix some install issues. My main machine has now settled down. I'm a bit paranoid about slowdown as I use ON as my everything, so as soon as it gets sluggish it is has such a massive knock on effect.
All looks good now I left it for the "dinner" amount of delay, which was perfect. Others may find the "coffee" or "to the loo and back" a sufficient amount of time. :-).
I like the last scan / next scan info.
I assume it is a per Notebook scan so if it is up to date, it knows when you add a new notebook, that it has to fully scan the new notebook..... And I assume there is a nuke option of kill the DB, restart - rescans.
Thanks @stevencohn - another great addition to a great tool.
Hopefully you never need to restart but you can delete the db file and then restart ON and it will rebuild the db.
There is a Scan Now option on the Search dialog if you're less patient than the two minute scan rate.
Btw, this is what I was planning for next release:
- Boolean logic on searches
- Press Enter to initiate the search rather than tabbing over to or clicking on the search button
- Find pages related to one of the items in the search results based on other tags on that page
"Find pages related to one of the items in the search results based on other tags on that page" I am not sure I follow what this actually is. All working fine this AM, now thinking on how to use hastags to set up review todo's, rate pages (gold, silver, sometimes useful, scratch / disposable).
- You search for ##one.
- One of the search results is a page that is tagged with ##one ##ttwo ##three
- Right-click that result item and find related pages
- Build a report of all pages tagged with ##one, ##two, and/or ##three
Ostensibly, a tagging mind map (ish)