0

I'm counting the number of rows in a 1TB tplog using -11!(-2;`:tplog) internal function, which takes a long time as expected.

Is there a way to track progress (preferably as a percentage) of this operation?

kgf3JfUtW
  • 13,702
  • 10
  • 57
  • 80

2 Answers2

2

No I don't believe this would be possible for the -2 option. It is possible with every other use of -11! by defining a custom .z.ps but it seems .z.ps isn't invoked when counting number of chunks.

Your best bet might be to check the raw file size on disk using a linux system command or using hcount and then based on some previous estimates tested on your machine you could create logic to come up with a ballpark estimate (maybe with a linear interpolation) of timing based only on the file size.

Of course - once you have the chunk count from the -2 option then you can easily create a progress estimate of an actual replay, just not for the chunk count part itself

terrylynch
  • 11,844
  • 13
  • 21
1

Fundamentally, entries are variable length and there is no tracking built into the file, so there's no exact answer.

You might be able to do this:

Replay a short segment (say 1,000 entries) and a custom handler:

.z.ps:{estimate+:-22!x}
-11!(1000;`:tplog)
-1"estimate of entry size: ", string estimate%:1000
-1"estimate of number of entries: ", string floor n:hcount[`:tplog]%estimate
\x .z.ps

Then repeat the full file with a standard upd handler.

user20349
  • 509
  • 2
  • 9