Thread Tools Display Modes
06/19/19, 02:32 PM   #21
Rhyono
AddOn Author - Click to view addons
Join Date: Sep 2016
Posts: 659
Even if they didn't do the UI aspect, that method of data retrieval would be a lot lighter than currently.
  Reply With Quote
06/19/19, 04:26 PM   #22
Philgo68
AddOn Author - Click to view addons
Join Date: Nov 2014
Posts: 6
Guild Sales History

Originally Posted by ZOS_ChipHilseberg View Post
The changes to the guild history API allowed us to control the frequency of addon requests to stabilize the load in the short term. While the cooldown on the requests is something that we can tune as needed, the present timings are one new data request and one old data request per category each time you log in (100 entries per request). And then an additional new request every 30 minutes and an additional old request every 30 seconds. This will slow down mining all of the past entries, but will allow us to keep providing data while a better long-term solution is pursued.
Is there an API to ask the server what the cooldowns are at any given time so we can avoid asking during our cooldown? How are the cooldowns enforced? (No response at all, A "no more data" response, A "you are on cooldown" response, etc.)

What happens in guilds where there are more than 100 new entries in a category in 30 minutes?
  Reply With Quote
06/20/19, 08:35 AM   #23
ZOS_ChipHilseberg
ZOS Staff!
Premium Member
Yes this person is from ZeniMax!
Join Date: Oct 2014
Posts: 551
Is there an API to ask the server what the cooldowns are at any given time so we can avoid asking during our cooldown? How are the cooldowns enforced? (No response at all, A "no more data" response, A "you are on cooldown" response, etc.)
RequestGuildHistoryCategoryNewest and RequestGuildHistoryCategoryOlder will return false in the case of being on CD. We don't push the server CD to all clients so the client only knows the server CD when it makes a request. There is virtually no cost to calling these APIs all the time since we would just check the CD value on the client and bail.

What happens in guilds where there are more than 100 new entries in a category in 30 minutes?
Each time it will grab the next 100 entries working from the most recent event it last received towards now. If there are more than 100 then those that were left out will come with the next request.
  Reply With Quote
06/20/19, 11:59 AM   #24
Sorondor
AddOn Author - Click to view addons
Join Date: Sep 2015
Posts: 17
Originally Posted by ZOS_ChipHilseberg View Post
The changes to the guild history API allowed us to control the frequency of addon requests to stabilize the load in the short term. While the cooldown on the requests is something that we can tune as needed, the present timings are one new data request and one old data request per category each time you log in (100 entries per request). And then an additional new request every 30 minutes and an additional old request every 30 seconds. This will slow down mining all of the past entries, but will allow us to keep providing data while a better long-term solution is pursued.
If I understand this correctly, if a single trade guild averages 1 sale/minute (mine averages close to this) then it would take a minimum of 6.5min after log on to catch up on sales data from the last 24 hours? (200 items at log on plus 13 "old" retrieval requests every 30 seconds thereafter)
  Reply With Quote
06/20/19, 03:32 PM   #25
ZOS_ChipHilseberg
ZOS Staff!
Premium Member
Yes this person is from ZeniMax!
Join Date: Oct 2014
Posts: 551
Originally Posted by Sorondor View Post
If I understand this correctly, if a single trade guild averages 1 sale/minute (mine averages close to this) then it would take a minimum of 6.5min after log on to catch up on sales data from the last 24 hours? (200 items at log on plus 13 "old" retrieval requests every 30 seconds thereafter)
That is correct.
  Reply With Quote
06/21/19, 12:33 AM   #26
Verbalinkontinenz
 
Verbalinkontinenz's Avatar
AddOn Author - Click to view addons
Join Date: Sep 2016
Posts: 11
Any ideas on future plans?
  Reply With Quote
06/21/19, 01:05 AM   #27
Sordrak
 
Sordrak's Avatar
AddOn Author - Click to view addons
Join Date: May 2017
Posts: 52
Originally Posted by ZOS_ChipHilseberg View Post
The changes to the guild history API allowed us to control the frequency of addon requests to stabilize the load in the short term. While the cooldown on the requests is something that we can tune as needed, the present timings are one new data request and one old data request per category each time you log in (100 entries per request). And then an additional new request every 30 minutes and an additional old request every 30 seconds. This will slow down mining all of the past entries, but will allow us to keep providing data while a better long-term solution is pursued.
Hey ZOS_ChipHilseberg

Nice to getting some answers here. I'm still a bit confused about everything that is going on.

Could you please explain how the different things are tied together respectively would you mind explaining if and how the issues described above (guild history) are related to guild chat and pvp campaign status?

As far as I understood the bad performance, like guild chat delays was related to the history, right?
It might not be, and therefore some explanation would be great. Thanks.
  Reply With Quote
06/21/19, 12:26 PM   #28
ZOS_ChipHilseberg
ZOS Staff!
Premium Member
Yes this person is from ZeniMax!
Join Date: Oct 2014
Posts: 551
Originally Posted by Verbalinkontinenz View Post
Any ideas on future plans?
Not to share right now but we're working on it.
  Reply With Quote
06/30/19, 10:03 AM   #29
Philgo68
AddOn Author - Click to view addons
Join Date: Nov 2014
Posts: 6
Originally Posted by ZOS_ChipHilseberg View Post
Not to share right now but we're working on it.
It would be super handy (and reduce calls for server data in the long run) if RequestGuildHistoryCategoryOlder and RequestGuildHistoryCategoryNewest had a "start time" parameter. "Give me the 100 records newer than timestamp 1561862419" Right now when people don't log in for a few days they have to sit on one character, without a crash or /reloadui, for a few hours to get in history far enough to get that data. If they don't make it back for whatever reason, it has to start digging from scratch. With a "start time" parameter, we could start looking back in history and store those records, and then we would not have to dig back that far again, after a /reloadui or switching characters.
  Reply With Quote
06/30/19, 10:33 AM   #30
merlight
AddOn Author - Click to view addons
Join Date: Jul 2014
Posts: 671
Originally Posted by Philgo68 View Post
It would be super handy (and reduce calls for server data in the long run) if RequestGuildHistoryCategoryOlder and RequestGuildHistoryCategoryNewest had a "start time" parameter. "Give me the 100 records newer than timestamp 1561862419" Right now when people don't log in for a few days they have to sit on one character, without a crash or /reloadui, ...
Actually it's without a crash or logout. /reloadui, as well as switching characters without logging out, doesn't discard downloaded history (and also doesn't refresh cooldowns). But that's a nitpick. A start time parameter would help a ton regardless. However, you'd then also need a way to tell there's a gap in downloaded history. If another addon requests Newest since an hour ago, and your addon then requests Older since 5 days ago... you need to be able to tell where the gaps are.
  Reply With Quote
06/30/19, 11:57 AM   #31
Sorondor
AddOn Author - Click to view addons
Join Date: Sep 2015
Posts: 17
Originally Posted by merlight View Post
/reloadui, as well as switching characters without logging out, doesn't discard downloaded history
This is quite true, thankfully, otherwise my bandaid of manually downloading sales history before enabling MM (requiring /reloadui) wouldn't work. This characteristic has saved me so many hours.
  Reply With Quote
07/25/19, 04:28 AM   #32
Marazota
AddOn Author - Click to view addons
Join Date: Sep 2015
Posts: 257
from last PTS patch

Changed the guild history update mechanism from client polling to server-initiated updates to help address performance issues. The history will update approximately once per minute.
  Reply With Quote
07/25/19, 06:37 AM   #33
Baertram
Super Moderator
 
Baertram's Avatar
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 4,912
The before/above discussed API functions were changed as well due to this change in guild history:

basically RequestGuildHistoryCategoryNewest is gone and RequestGuildHistoryCategoryOlder is now RequestMoreGuildHistoryCategoryEvents
and new events are sent to you on a timer
Also found these reovals from a difference between teh API txt files:
Lua Code:
  1. --Removed
  2. * HasGuildHistoryCategoryEverBeenRequested(*integer* _guildId_, *[GuildHistoryCategory|#GuildHistoryCategory]* _category_)
  3. ** _Returns:_ *bool* _hasEverBeenRequested_
  4. * RequestMoreGuildHistoryCategoryEvents(*integer* _guildId_, *[GuildHistoryCategory|#GuildHistoryCategory]* _category_)
  5. ** _Returns:_ *bool* _requested_
  Reply With Quote
08/20/19, 11:22 PM   #34
Marazota
AddOn Author - Click to view addons
Join Date: Sep 2015
Posts: 257
guild history disabled again

  Reply With Quote
08/21/19, 06:07 AM   #35
Sorondor
AddOn Author - Click to view addons
Join Date: Sep 2015
Posts: 17
Only the guild history API that allows addons to request more data appears to be disabled. Fetching sales history manually still works fine.

Note that ZOS has significantly improved the performance while fetching the history manually.
  Reply With Quote
08/21/19, 03:28 PM   #36
Baertram
Super Moderator
 
Baertram's Avatar
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 4,912
Originally Posted by Sorondor View Post
Only the guild history API that allows addons to request more data appears to be disabled. Fetching sales history manually still works fine.

Note that ZOS has significantly improved the performance while fetching the history manually.
Maybe because the addon history is offline and the server now got time to concentrate on the manual requests
  Reply With Quote
08/21/19, 03:49 PM   #37
Sorondor
AddOn Author - Click to view addons
Join Date: Sep 2015
Posts: 17
Originally Posted by Baertram View Post
Maybe because the addon history is offline and the server now got time to concentrate on the manual requests
Whatever the reason, it's much improved, even after 3 days without any logins. Just sharing my experience in case it may benefit others.
  Reply With Quote
08/23/19, 01:39 PM   #38
Marazota
AddOn Author - Click to view addons
Join Date: Sep 2015
Posts: 257
guild history API turned ON again
also
Addons
Addon requests for Guild History now have a longer cooldown when the game is under heavy load.

interesting how to determine this CD
  Reply With Quote
08/23/19, 02:06 PM   #39
Baertram
Super Moderator
 
Baertram's Avatar
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 4,912
Originally Posted by Marazota View Post
guild history API turned ON again
also
Addons
Addon requests for Guild History now have a longer cooldown when the game is under heavy load.

interesting how to determine this CD
I don't think we will be able to determine this cooldown. The addons will request the data, the data will not be retrieved. "Hammering" (trying a lot) to get the data again will not help and just increase the payload on the server so the cooldown will increase, I guess.
  Reply With Quote

ESOUI » Developer Discussions » General Authoring Discussion » Guild History of sales changes. Discussion and solutions

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off