These forums have been archived and are now read-only.

The new forums are live and can be found at https://forums.eveonline.com/

EVE Technology Lab

 
  • Topic is locked indefinitely.
 

Why are we not combining market data, player devs?

Author
Dragonaire
Here there be Dragons
#41 - 2011-10-25 03:30:51 UTC
Yeah they've said no to doing that so many times they don't even bother anymore.

Finds camping stations from the inside much easier. Designer of Yapeal for the Eve API. Check out the Yapeal PHP API Library thread.

Scrapyard Bob
EVE University
Ivy League
#42 - 2011-10-25 04:06:22 UTC
otto leading wrote:

Why not start a concerted lobby for them to open the pricing api to the market information providers. There, one source of data, eliminates cache scraping, file uploads and it is accurate. And most of all, it is the primary and complete set of data.


It would pretty much destroy the inter-regional markets and we'd all end up as slaves to Jita prices. (The only variation would be "how far away are you from Jita".)

Some information about cross-border prices is good, especially if it's not always accurate or timely. Too much information ends up being a bad thing. One of the "interesting" things about the EVE economic market is that there are lots and lots of niches where someone who is willing to login an alt at both locations can profit from imperfect information flow.

(The reason that I support services like EVE-Central, EVE-MarketData and EVEMarketeer is because they are imperfect, always a few hours behind, but they provide a way that I can get reasonably good estimates of market prices on a daily basis for my spreadsheets.)
Callean Drevus
Perkone
Caldari State
#43 - 2011-11-07 20:35:38 UTC
Okey, so I've finished building the EVE Marketeer cross website uploader too. It now uploads to EVE Marketeer, EVE Marketdata and EVE Central!

It uses different formats at this moment of course, but I'd appreciate it if new websites that want to be added for market updates will keep to the upload format as specified on the EVE Marketeer website (the API page). As simple as adding an URL and everything will be done automatically.
It isn't advanced enough to add your own endpoints yet (I still have to modify the codebase manually), but uploading to every website is a start :)

Have fun uploading!

Developer/Creator of EVE Marketeer

Zaepho
Goosefleet
Gooseflock Featheration
#44 - 2011-11-07 21:16:35 UTC
I'd love to see the other websites pick this up and run with it as their preferred uploader as well! It's going to take a combined effort between the sites to get the best possible data from all users. Also this will allow for the maintenance of the upload tool be shared between all of the sites.
Garo Hertee
Eclipse Industrials
Quantum Forge
#45 - 2011-11-07 21:54:35 UTC
Great to see this being worked on. I just downloaded it and installed but every time I run it, it uses 40-50% of my CPU (I'm running Windows 7). Unfortunately, there's no way I can run that alongside an Eve client.

Also, a question. Is an Eve Marketeer upload key required or optional?
Callean Drevus
Perkone
Caldari State
#46 - 2011-11-08 17:28:45 UTC
50% O_o... I never noticed that when testing (well, no noticable slowdowns, so I didn't look ;) ). An EVE Marketeer upload key is required for uploading to EVE marketeer, otherwise I believe it just skips uploading to EMK but happily uploads to EVE Central at least.

Might be a good idea to add automatic registration so the entry barrier is not too high.

Developer/Creator of EVE Marketeer

Garo Hertee
Eclipse Industrials
Quantum Forge
#47 - 2011-11-08 17:51:40 UTC
Sadly, on my machine that CPU usage slows everything down considerably. I'm assuming that the nuts and bolts of parsing the cache files and sending the uploads shouldn't be all that intensive. If you can get the CPU usage down to reasonable levels, I'll certainly switch over.

The Eve Central uploader keeps annoying me by losing the cache folder and taking several minutes to open the requester to select it again.
Callean Drevus
Perkone
Caldari State
#48 - 2011-11-08 20:04:04 UTC
What version of windows (32bit or 64 bit) are you running this on? And what are the other specifications of your computer? Since I do not get the 50% cpu problem at all.

Developer/Creator of EVE Marketeer

Garo Hertee
Eclipse Industrials
Quantum Forge
#49 - 2011-11-08 20:42:57 UTC
I'm currently running Windows 7 Home Premium 32 bit on a Pentium 4 3.4 GHz.

I suppose that's no longer state of the art. Still, that kind of CPU usage seems very high.
Garo Hertee
Eclipse Industrials
Quantum Forge
#50 - 2011-11-08 20:51:39 UTC
OK, today I'm seeing a different pattern from yesterday. Yesterday, the uploader was constantly at 42-48% CPU. Today I'm seeing it jump around from single to digits to 38%, with a figure in the 30's appearing roughly every 1-1.5 seconds.

I've created an Eve Marketeer account and entered my upload key but that seems to have no effect on CPU usage. At least jumping around on the CPU seems to be slowing down the computer less than yesterday. I'm going to try logging on to Eve and checking some market data to see what performance is like.
Garo Hertee
Eclipse Industrials
Quantum Forge
#51 - 2011-11-08 21:01:51 UTC
Really weird. When I'm checking lots of market data in Eve and giving the uploader much more work to do, it seems to be using almost no CPU compared to when it's supposedly idling. It's currently running alongside an Eve client without any problems and you should be seeing lots of uploads coming from me.
Garo Hertee
Eclipse Industrials
Quantum Forge
#52 - 2011-11-08 21:43:24 UTC
I'm eagerly waiting for the update on your site because I should rapidly make it into your top 10 uploaders.
Garo Hertee
Eclipse Industrials
Quantum Forge
#53 - 2011-11-08 22:06:14 UTC
Hmmm, I didn't appear. Will check again tomorrow.
Zaepho
Goosefleet
Gooseflock Featheration
#54 - 2011-11-08 22:13:43 UTC
Garo Hertee wrote:
Really weird. When I'm checking lots of market data in Eve and giving the uploader much more work to do, it seems to be using almost no CPU compared to when it's supposedly idling. It's currently running alongside an Eve client without any problems and you should be seeing lots of uploads coming from me.

Probably lacking a good sleep() in the main if there's no work to be done. it's likely cycling the main loop as fast as possible hence consuming an entire CPU Core hence the 50% CPU utilization (i'm assuming you're on a dual core or HT box here of course)
Garo Hertee
Eclipse Industrials
Quantum Forge
#55 - 2011-11-08 22:16:49 UTC
Yes, dual core. It's not pinning one core to the top though, it's running both cores at around 40-50% when idle (or it was yesterday anyway).
Zaepho
Goosefleet
Gooseflock Featheration
#56 - 2011-11-08 22:21:01 UTC
Garo Hertee wrote:
Yes, dual core. It's not pinning one core to the top though, it's running both cores at around 40-50% when idle (or it was yesterday anyway).

I would expect one core to go to 100% but it could be flopping back and forth between them but not running on both simultaneously to result in the 50%. I could also be talking out of my hind parts and completely wrong. It's a theory though!
Garo Hertee
Eclipse Industrials
Quantum Forge
#57 - 2011-11-08 22:24:58 UTC
That might be the case. PHP is really my thing and I don't feel like venturing into whatever flavour of C the uploader is written in. Callean has obviously been muddling around in the workings of it, so we'll see if he can come up with a fix. Meantime, get my name on the list of top uploaders! Smile
Nam Noissim
Red Lobsters Unilateral
#58 - 2011-11-11 20:19:45 UTC
So long as all three sights were interested in accepting data in the same format, it wouldn't be terribly difficult to have one uploader client that transmitted all data to a central hub, and then that hub did some very basic checking on whether the data was new/unique, and then forwarded the data on to all other market sites.

In terms of engineering this solution? Well, IRL I'm a Unix System Admin...so...

The primary upload receiver server would have Solaris 11 Express installed on it. Why? ZFS Data deduplication and ZFS Compression (dedup is done before compression, and de-duped blocks are not re-compressed). It is absolutely amazing with stuff like this.
-The server would have a daemon running on it with a (relatively) simple design and purpose:
1. Install a hook in the OS so that it notifies you of a new file being written (or every 1-2 seconds if file write counts are high and processing can keep up, and there would be logic to automatically switch between these two modes).
2. Use OS utilities (cksum should be sufficient) to check whether the file has already been received and uploaded in the last hour.
3. Attempt to transmit any new data to all downstream targets (eve central, eve markets, etc)
4. Remove all files that were successfully uploaded to all downstream targets.
5. Keep track of transmit queue lengths for each site (writing this memory to disk every few seconds, similar to a SQL replay log). If eve-central is only given 300 MB of pending upload queue, the oldest data in the queue is thrown out. This is to prevent an unintentional DOS in the event that one of the downstream targets is offline or unable to accept new data for some reason.
6. Continue to try and upload to downstream targets every few seconds until successful or queue ejection occurs.

As for why no one does it? Well, cost is one thing. I mean, the daemon could also log how much was sent to who and issue a bill accordingly, but who wants to pay for something they don't explicitly admin? That requires a *lot* of trust. Also, who wants to manage a Solaris 11 box? I mean, Solaris is a bit of a pain in the ass, especially when it comes to package management / patching. But the ZFS gains are *well* worth it in this case.

Additionally, right now there are only two ways to read cache files. libevecache, written in C++ and 100% undocumented (go figure the function calls out for yourself! hah!) or Reverence, written in Python, which means your app needs to either be written in Python, or you have to juggle python code in a C environment, which CCP can tell you is...messy.

A C cache reader, that did *not* require python, scons, or anything but GCC / MSVCC / ICC would go a long way to rectifying this as it would be build able for any 32 or 64 bit OS. People say C isn't portable...lololololol. Unless you have to use in-line assembly, or third party libraries (which for simple things like this, you should be using only 'libraries' that exist in .c and .h files), its the most portable language on the planet, you just have to recompile. :)

Anyway...chest-thumping about my favorite language aside, the reasons why it hasn't been done basically boil down to no one making an easy to use cache reader that *just works*. Making a client that everyone trusts to use. Making a client that elegantly accommodates multiple installs, and also automatically adapts to patch changes (IE: it finds the correct cachedmethodcalls folder automatically).

So yea, the reasons it hasn't been done, in my eyes, are largely technical. It is just plain annoying, and with no real world profit involved, and very unlikely in-game profits...why bother going through all the trouble of doing all that work, just so people can try to make money trading? They want to make money too, where's their cut? 50% technical, 50% economic.
Garo Hertee
Eclipse Industrials
Quantum Forge
#59 - 2011-11-11 20:43:15 UTC
I wouldn't be in favour of a central hub, since we could end up with the Eve Central position where the person running it no longer plays Eve and either lets it die or keeps maintaining a service he is no longer interested in. In terms of being future-proof, the solution we have now with the multiple uploader seems to me to be getting closer to where I'd like to be. I'd still love to have the uploader check a directory at startup and read in configuration files, one for each site it can upload to. If a site dies or a new one starts up, it would be a case of adding or deleting a config file from that directory rather than having to recode the uploader.

It would be great to have one uploading format shared by all sites, but in practice, I think we have to retain support at the moment for what might now be seen as a legacy system - Eve Central. I've been doing some simple monitoring of the sites and got this over the last week...

Eve Central: 100% uptime
Eve Market Data: 97.6% uptime
Eve Marketeer: 81.2% uptime

To those running the sites, please don't take these figures as a criticism, they're intended purely as figures. My personal position is that when my server needs to fetch an item's price, it goes to Eve Central. I'd like to change that to another site which is maintained by an active pilot, but for now Eve Central is giving me the best chance of getting a price first time. The multiple uploader lets me support all of the sites with good data even if I'm not using them to fetch prices right now.
Garo Hertee
Eclipse Industrials
Quantum Forge
#60 - 2011-11-11 21:09:34 UTC
Is Eve Marketeer processing data right now? I'm uploading but...

1. My upload count isn't rising
2. The stats page isn't showing uploads for any region in the past 24 hours
3. The upload backlog is showing almost 68000.

Does this mean it's accepting uploads into a queue but not processing that queue?