Elite Observatory - Search your journal for potentially interesting objects, or notify you of new ones on the fly while exploring!

Since the last update the program hangs when I click 'Read All Logs'. the bar progresses to about 20% and then stays there.
It still uses ~10% of my CPU and the used RAM increases at about 2 MB/sec. But even if I leave it running for hours it just keeps on using more and more RAM without showing any signs of life.
 
Since the last update the program hangs when I click 'Read All Logs'. the bar progresses to about 20% and then stays there.
It still uses ~10% of my CPU and the used RAM increases at about 2 MB/sec. But even if I leave it running for hours it just keeps on using more and more RAM without showing any signs of life.
This is the first report I've heard of a problem like this so it will take me some time to look into it.

Would you be amenable to zipping up your journals and sending them to me? It might help me find what is causing the hang.
 
This is the first report I've heard of a problem like this so it will take me some time to look into it.

Would you be amenable to zipping up your journals and sending them to me? It might help me find what is causing the hang.

Sure. Here you go.
But something strange happened right now: I had an old ZIP-file containing journal files in my journal directory (this one). I moved it to another directory and pressed 'Read All Logs' again. It took several minutes to process them, but it worked. I moved the ZIP-file back and it still works. I'm quite confused right now.
 
It looks like it might be as simple as having a lot of logs and some performance issues with some of the built in checks, especially ones that deal with aggregate data.

I'll work on optimizing the problematic checks to improve this, but I can tell you that the worst offenders are the system-wide jumponium and surface material checks, so disabling those will allow "Read All Logs" to complete significantly more quickly. After those come most of the checks that involve a single other body in the same system, specifically close orbit, close binary, colliding binary, close ring proximity, and shepherd moon.

The rest of the checks don't need to look up previous scans in Observatory's internal dictionary, so should be unaffected by log size.

Or visually, this arrangement should give a significant performance improvement:
1584485904617.png


You can disable some of all of the settings mentioned to cut down on time to read your logs, in the meantime I'll work on mitigating the performance hit from referencing previous scan data.
 
I had disabled these checks a long time ago (far too many systems trigger these to be considered interesting to me) and out of curiosity I enabled them now.
I takes about 3 minutes to read my logs without these options and about 13 minutes if I enable them.
Still those 'crashes' I experienced the last days seem to be gone since I fiddled with this old ZIP-file.

Anmerkung 2020-03-18 000251.JPG
 
I'll keep poking at the zip files, Observatory shouldn't traverse them at all but there might be some kind of strange edge case I haven't thought of.

Thanks for bringing this to my attention.
 
<!-- Galactic Limits criteria for Elite Observatory. Values taken from EDSM.net. By Heavy Johnson 12/16/2019 -->



<ObservatoryCriteria>



<Criteria Comparator="And">
<!-- Only check this against gas giants -->
<Criteria Comparator="Equal" Value="1">
<Operation Operator="Add">
<FirstValue Type="Operation">
<Operation Operator="Add">
<FirstValue Type="Operation">
<Operation Operator="Add">
<FirstValue Type="EventData">PlanetClass:Sudarsky class I gas giant</FirstValue>
<SecondValue Type="EventData">PlanetClass:Sudarsky class II gas giant</SecondValue>
</Operation>
</FirstValue>
<SecondValue Type="Operation">
<Operation Operator="Add">
<FirstValue Type="EventData">PlanetClass:Sudarsky class III gas giant</FirstValue>
<SecondValue Type="EventData">PlanetClass:Sudarsky class IV gas giant</SecondValue>
</Operation>
</SecondValue>
</Operation>
</FirstValue>
<SecondValue Type="Operation">
<Operation Operator="Add">
<FirstValue Type="Operation">
<Operation Operator="Add">
<FirstValue Type="EventData">PlanetClass:Sudarsky class V gas giant</FirstValue>
<SecondValue Type="EventData">PlanetClass:Gas giant with water based life</SecondValue>
</Operation>
</FirstValue>
<SecondValue Type="Operation">
<Operation Operator="Add">
<FirstValue Type="EventData">PlanetClass:Gas giant with ammonia based life</FirstValue>
<SecondValue Type="Operation">
<Operation Operator="Add">
<FirstValue Type="EventData">PlanetClass:Helium rich gas giant</FirstValue>
<SecondValue Type="EventData">PlanetClass:Water giant</SecondValue>
</Operation>
</SecondValue>
</Operation>
</SecondValue>
</Operation>
</SecondValue>
</Operation>
</Criteria>
<!-- The 5 here can be tweaked depending on how oblate you want to trigger the check -->
<Criteria Comparator="Greater" Value="5">
<Operation Operator="Divide">
<FirstValue Type="Operation">
<Operation Operator="Multiply">
<!-- (2 * pi / rotation period)^2 -->
<FirstValue Type="Operation">
<Operation Operator="Multiply">
<FirstValue Type="Operation">
<Operation Operator="Divide">
<FirstValue Type="Number">6.28</FirstValue>
<SecondValue Type="EventData">RotationPeriod</SecondValue>
</Operation>
</FirstValue>
<SecondValue Type="Operation">
<Operation Operator="Divide">
<FirstValue Type="Number">6.28</FirstValue>
<SecondValue Type="EventData">RotationPeriod</SecondValue>
</Operation>
</SecondValue>
</Operation>
</FirstValue>
<!-- radius cubed -->
<SecondValue Type="Operation">
<Operation Operator="Multiply">
<FirstValue Type="Operation">
<Operation Operator="Multiply">
<FirstValue Type="EventData">Radius</FirstValue>
<SecondValue Type="EventData">Radius</SecondValue>
</Operation>
</FirstValue>
<SecondValue Type="EventData">Radius</SecondValue>
</Operation>
</SecondValue>
</Operation>
</FirstValue>
<!-- Gravitational constant * Mass, shifted a few orders of magnitude to get simpler numbers to use as threshold -->
<SecondValue Type="Operation">
<Operation Operator="Multiply">
<FirstValue Type="Number">3985760580000</FirstValue>
<SecondValue Type="EventData">MassEM</SecondValue>
</Operation>
</SecondValue>
</Operation>
</Criteria>
<Description>Космическое Яйцо</Description>
</Criteria>



<!-- No lower tempature check for Helium rich gas giant as a 0K body is known -->


</ObservatoryCriteria>
 
Your pasted text also works for me with no issue. Can you please provide the actual file so that I can see what character encoding it's using? The original encoding is almost certainly not being preserved in its trip through the forums.

1584540609924.png
 
Your pasted text also works for me with no issue. Can you please provide the actual file so that I can see what character encoding it's using? The original encoding is almost certainly not being preserved in its trip through the forums.

Отправил в ЛС
 
The text of the file appears to be using KOI8-B encoding, which isn't supported by the .NET xml parser, even when explicitly specified in an xml header.

Did you use the editor built in to Observatory? If so that's an issue I'll need to fix. For now if you can re-save the file using KOI8-R and add a header to inform the xml reader (<?xml version="1.0" encoding="KOI8-R"?> at the top of the file) or, preferably, use UTF-8 with no header required, the Cyrillic text should work fine.
 
The text of the file appears to be using KOI8-B encoding, which isn't supported by the .NET xml parser, even when explicitly specified in an xml header.

Did you use the editor built in to Observatory? If so that's an issue I'll need to fix. For now if you can re-save the file using KOI8-R and add a header to inform the xml reader (<?xml version="1.0" encoding="KOI8-R"?> at the top of the file) or, preferably, use UTF-8 with no header required, the Cyrillic text should work fine.
Thanks! I just forgot about the encoding.

P.S. Everything turned out fine!
 
Last edited:
Please change the calculation/logic for the size = 50%+ of parent. At present it seems to be: if body is greater than 50% of parent then true, I think it should be: if body is greater than 50% but less than 100% then true...
This would prevent all the messages about virtually any body being 50% of parent, when the parent in question is a whate dwarf of neutron star
 
Please change the calculation/logic for the size = 50%+ of parent. At present it seems to be: if body is greater than 50% of parent then true, I think it should be: if body is greater than 50% but less than 100% then true...
This would prevent all the messages about virtually any body being 50% of parent, when the parent in question is a whate dwarf of neutron star
At this point it is painfully obvious that I made a mistake with the sample custom criteria in creating one that fired relatively often in the interest of showing how they work.

For what might now be then tenth time, the ">50% of parent size" check is an example custom criteria written to the sample xml that you are prompted to create if custom criteria are enabled but no ObservatoryCriteria.xml file exists. You are free to modify or remove it entirely.

In the next version of Observatory I'm going to remove it from the sample file or at least comment out all the sample checks so this stops happening. And maybe put in a specific check for that particular criteria and block it entirely. :p
 
At this point it is painfully obvious that I made a mistake with the sample custom criteria in creating one that fired relatively often in the interest of showing how they work.

For what might now be then tenth time, the ">50% of parent size" check is an example custom criteria written to the sample xml that you are prompted to create if custom criteria are enabled but no ObservatoryCriteria.xml file exists. You are free to modify or remove it entirely.

In the next version of Observatory I'm going to remove it from the sample file or at least comment out all the sample checks so this stops happening. And maybe put in a specific check for that particular criteria and block it entirely. :p
d'oh sorry I didn't spot that elsewhere in the thread.... digging through the sample file now :) Legend!
 
Hi Vithigar, I've got an odd problem!

Setting up a new PC which has Bitdefender on it, and when I try to download the Observatory stuff it blocks the web page, then if I bypass that it blocks the download. It also blocks me from copy the Observatory installation over from my old machine.

It claims the file is infected with "Gen:Variant.Ursu.804256" - does that mean anything to you?

I've searched for it and there are various hits claiming a false positive, and others stating it's a Trojan Horse.
 
Back
Top Bottom