HI, i’m trying to write a report to display the count of Relays and the number of clients within that location, hopefully with the output to be something like this:
Location, multiplicity of number Relays in location, multiplicity of number of clients in location.
I’m trying to use the client setting “_BESRelay_Register_Affiliation_AdvertisementList” to detect the Relay location value, and the client settings “_BESClient_Register_Affiliation_SeekList” to identify the Client location.
this is what I have so far, but I’m stuck trying to merge them together.
Client Detection
(it, multiplicity of it as string) of unique values of (preceding text of first ";" of value of client settings whose (name of it = "_BESClient_Register_Affiliation_SeekList") of it) of bes computers whose (root server flag of it = false AND (exists value whose (it contains ";") of client settings whose (name of it = "_BESClient_Register_Affiliation_SeekList")of it))
Relay Detection:
(it, multiplicity of it as string) of unique values of (value of client settings whose (name of it = "_BESRelay_Register_Affiliation_AdvertisementList") of it) of bes computers whose (root server flag of it = false AND (exists value of client settings whose (name of it = "_BESRelay_Register_Affiliation_AdvertisementList")of it))
Please put the relevance in code blocks by selecting it and then pressing the button that looks like the following:
</>
This will prevent Discourse / the forum software from screwing it up, which makes it difficult to copy and paste into the fixlet debugger so that I can test it.
What exactly are you trying to accomplish? These settings will only have the “possible” values that the client will choose. Are you trying to determine if a client is in a specific location? What relays they CAN choose?
We are in the early states of a mass client deployment and I need a report that display my current capacity of clients / relay. We use automatic relay selection with Relay affiliation seeklists. The location references to the value of the seeklist client setting, or the value of the Advertisementlist client setting (on the Relays). It could also refer to the value of “Location by IP Range” of client setting too, as they are all the same.
What I’m looking for is some kind of report that displays the unique location value, the number of relays with that value, the number of clients with that value, and then some statistics about capacity (i.e. if there are 2 Relays in NewYork, allowing for a maximum client count on each reach of 2000, that would mean the NewYork capacity is 4,000, and if we only have 3000 there, the Location capacity is currently at 75%).
This allow for the ability to add additional Relays when the Client count at a specific site gets too high.
(item 0 of it, item 1 of item 1 of it, item 2 of it) of (item 0 of it, (it, multiplicity of it as string) of unique values of values of client settings whose (name of it = "_BESRelay_Register_Affiliation_AdvertisementList") of bes computers whose (not root server flag of it AND relay server flag of it AND (exists values of client settings whose (name of it = "_BESRelay_Register_Affiliation_AdvertisementList")of it)) , item 1 of it) whose(item 0 of it = item 0 of item 1 of it) of (it, multiplicity of it as string) of unique values of (it as trimmed string) of (preceding text of first ";" of it | it) of (value of client settings whose (name of it = "_BESClient_Register_Affiliation_SeekList") of it | "") of bes computers whose (not root server flag of it)
I just made some tweaks to the relevance above. I added a check for relay server flag of it for the relay settings due to the fact that you could have that setting set on a computer that is not a relay, even though that should be rare.
The one downside I see is that if there are zero Relays at a site but 100 clients, it would be nice to see “site, 0, 100”, but currently it shows nothing.
Here is a separate query that should give you the (location, count) of clients with no relay.
(it, multiplicity of it as string) of unique values whose( ( set of unique values of values of client settings whose (name of it = "_BESRelay_Register_Affiliation_AdvertisementList") of bes computers whose (not root server flag of it AND relay server flag of it AND (exists values of client settings whose (name of it = "_BESRelay_Register_Affiliation_AdvertisementList") of it)) ) does not contain it ) of (it as trimmed string) of (preceding text of first ";" of it | it) of (value of client settings whose (name of it = "_BESClient_Register_Affiliation_SeekList") of it | "") of bes computers whose (not root server flag of it)