How to support multiple samplers for multiple reporters? - zipkin

When using Tracing.newBuilder() to create tracing, I found I can only specify 1 sampler and 1 reporter.
I'm trying to have:
100% sample for reporter A
1% sample for reporter B
Is it doable?
Thanks
Leon

In Brave4,only one Tracing instance exist,so it can't be done.

Related

Does AVAudioEngine support recursive routing?

Can I route Node A into Node B, and Node B back into Node A (of course using a Mixer in between) -- otherwise called "Feedback"? (For example, WebAudio supports this).
No, trying to setup a recursive route will result in AVAudioEngine freezing and a seemingly unrelated error appearing in the console:
warning: could not execute support code to read Objective-C class data in the process. This may reduce the quality of type information available.

How to get the NET response of single system during performance testing using Load runner or other tools

There are multiple systems involved in my application in order to get the proper response to final system.
Above image shows first the request will go from system 1 to system 2 and so on to system n. The final response will be visible in system 1. Here I want to know how we can get the "NET response time of one request from system 2 to system 3 or system 1 to system 2 and so on". I am a beginner in performance testing. Please let me know how we can achieve this.
Thank you so much!
APM tool Integration at System n through 1 (assuming your systems are supported by your APM tool), or log analysis of messages with timestamps indicating start and completion of an event. As long as you have a unique correlating key in the logs you can then reconstruct timing records for various event types which are key to your understanding of performance in your ~n~ tier model

How do I enable multi-core option for training Stanford NER model?

Does Stanford crf classifier for NER support multi-core operations?
If yes, how do I enable it?
I have tried nthreads parameter, but it shows this:
Unknown property: |nthreads|
For multithreading during training, try the option -multiThreadGrad .
For multithreading during testing, try the option -multiThreadClassifier .
Great question - I upvoted as I was in the same boat as you. Angel's answer helped me as well though partially. I had to dig into the code to figure out what it is and how to specify. Here's its key use:
new MulticoreWrapper<Pair<Integer, List<Integer>>, Pair<Integer, Double>> (multiThreadGrad, (calculateEmpirical ? expectedAndEmpiricalThreadProcessor : expectedThreadProcessor) )
And according to the MulticoreWrapper doc the first parameter:
nThreads - If less than or equal to 0, then automatically determine
the number of threads. Otherwise, the size of the underlying
threadpool.
So I now specify -multiThreadGrad 16 on a machine with 8 cores though I don't know if 16 is too many or too few threads.
Try using --multiThreadGrad 8.
Example:
java -Xmx20g -XX:+UseG1GC -cp /path/to/stanford/ner/jar edu.stanford.nlp.ie.crf.CRFClassifier -prop /prop/file/name-basic.prop --multiThreadGrad 8
Also can set the value dynamically using Runtime.getRuntime().availableProcessors()
src: here

Net::SNMP caching results for extend OIDs

The scope of this work is to query two machines' high resolution timer at the "same time" and get the time clock inaccuracy between both systems. This is done by having the 3rd machine sending an SNMP-get for a custom OID where the SNMP agent is configured to invoke a perl script to return the high-resolution timer. All works fine as in the snmp-get manages to return the expected result. However it appears that regardless of the frequency of the snmpget queries, the snmpagent only performs a fresh query to the script at ~5 second intervals. I am running NET SNMP version 5.4.3. After some research I've seen that this is typical of NET SNMP to cache the results and this is done on MIB tree basis. There is MIB (nsCacheTable) with the respective intervals by querying snmpwalk to 1.3.6.1.4.1.8072.1.5.3. Apparently the values can be changed to 0 to remove caching. Some of these are read-only though. Although I've set a few of them to 0 using SNMPset (as most of them return a Bad object type error).
I know very basic SNMP so I followed a guide online and mapped the below custom OID to the perl script with this line in the snmpd.conf.
extend .1.3.6.1.4.1.27654.3 return_date /usr/bin/perl [directory]/[perl script name].pl
Then the actual OID containing the output (time in epoch) is:
iso.3.6.1.4.1.27654.3.3.1.1.11.114.101.116.117.114.110.95.100.97.116.101
Anyone has any ideas how I can disable the caching for this OID?
Thanks in advance.
---EDIT---
According to this blog post, in order to avoid disabling the caching - one can instead use pass-persist scripts which look more complex to implement at first glance. The perl script I used to call is the below:
#!/usr/bin/perl
# THIS SCRIPT RETURNS THE EPOCH TIME OF DAY IN MICROSECONDS
use Time::HiRes qw(gettimeofday);
($s, $usec) = gettimeofday();
$newtime = $s.$usec;
print ($newtime);
Anyone can provide help in converting this script for pass-persist and how the snmpd.conf should look like?

OpenMPI mpirun universe size

I do not know if I perhaps understand this incorrectly. But here is what I want to achieve with OpenMPI in particular just starting with mpirun:
I want to create a single process using the -np parameter that specifies the world size as 1
I then want to set the universe size to some arbitrary number (for argument sake 10), how do I do this?
The following two commands:
MPI_Comm_size(MPI_COMM_WORLD, &world_size);
MPI_Attr_get(MPI_COMM_WORLD, MPI_UNIVERSE_SIZE, &universe_size,
&flag);
yield the output of world_size as 1 and universe_size as 1.
Ok, so I found 2 ways of doing this:
Implicit: mpirun -np 1 -H localhost,localhost,...,localhost executable
Explicit: just assign a value to universe_size in the application itself, it will work fine.
Thank you for anyone that looked at this.

Resources