How to exclude methods from code profiling - dottrace

I am executing code profiling with dotTrace, and I would like to be able to exclude specific methods from the code profiling - namely the ones that call external services and whose performance I do not control.
Is there a way to do this? I am trying to filter my results using dotTrace subsystems, but I am not being able to "hide" these method calls from the profiling results.
Thanks in advance

To exclude some method from call tree, you can just press Del or Shift+Del on it.
See https://www.jetbrains.com/help/profiler/Studying_Profiling_Results__Performance_Forecasting.html for Sampling/Tracing/Line-by-line and https://www.jetbrains.com/help/profiler/Forecasting_Performance_Timeline.html for Timeline profiling mode.
If you are using Line-by-line profiling mode, you can profile only particular methods using filters: https://www.jetbrains.com/help/profiler/Profiler_Options.html#filters

Related

How to use TraceX with a small buffer

I am developing a microcontroller application using the Azure RTOS ThreadX, and I wanted to use TraceX to publish the results in my master's thesis. The problem is that my application is running on a Cortex M0+ and only have 20k of RAM. From this 20k, I can only allocate 10k to the TraceX buffer.
I can only think of two ways of solving the problem:
The TraceX only save, for example, thread switch and event flag signals;
Be able to put a breakpoint before TraceX starts overwriting and save the buffer, and in the end put it together;
Someone had the same problem? How do you solve it?
Both options are possible:
To filter messages please look at the documentation here:
https://learn.microsoft.com/en-us/azure/rtos/tracex/chapter5#tx_trace_event_filter
The trace mechanisms is based on a few macros. You can look at the code in the macro TX_TRACE_IN_LINE_INSERT for the details. You may need to make this macro into a function in order to be able to put a breakpoint in your toolchain. These are implemented as macros for performance and footprint reasons.

View plot for Node in KNIME_BATCH_APPLICATION

I have been using KNIME 2.7.4 for running analysis algorithm. I have integrated KNIME with our existing application to run in BATCH mode using the below command.
<<KNIME_ROOT_PATH>>\\plugins\\org.eclipse.equinox.launcher_1.2.0.v20110502.jar -application org.knime.product.KNIME_BATCH_APPLICATION -reset -workflowFile=<<Workflow Archive>> -workflow.variable=<<parameter>>,<<value>>,<<DataType>
Knime provide different kinds of plot which I want to use. However I am running the workflow in batch mode. Is there any option in KNIME where I can specify the Node Id and "View" option as a parameter to KNIME_BATCH_APPLICATION.
Would need suggestion or guidance to achieve this functionality.
I have posted this question in KNIME forum and got the satisfactory answer mentioned below
As per concept of command line execution, this requirement does not fit in. Also there is now way for batch executor to open the view of specific plot node.
Hence there could be two solutions
Solution 1
Write the output of workflow in a file and use any charitng plugin to plot the graph and do the drilldown activity.
Solution 2
Use jFreeChart and write the image using ImageWriter node which can be displayed in any screen.

How can I check for downstream components in an SSIS custom transform?

I am working on a custom SSIS component that has 4 asynchronous outputs. It works just fine but now I have a user request for an enhancement and I am not sure how to handle it. They want to use the component in another context where only 2 of the 4 outputs will be well defined. I foolishly said that this would be trivial for me to support, I planned to just look to see if the two "undefined" streams were even connected, if not then I would skip over that part of the processing.
My problem is that I cannot figure out if an output is connected at run time, I had hoped that the output pipeline or output buffer would be missing. It doesn't look like that is the case; even when they are not hooked up the output and buffer are present.
Does anyone know where I should be looking to see if an output has a downstream consumer or not?
Thanks!
Edit: I was never able to figure out how to do this reliably, so I ended up making this behaviour configurable by the user. It is not automatic like I would have hoped but the difference I found between the BIDS environment and the DTExec environment pushed me to the conclusion that a component probably should not be making assumptions about the component graph it is embedded in.

AS3 Error #1502

AS3
Error: Error #1502: A script has executed for longer than the default timeout period of 15 seconds.
Is there a way to temporarily suppress this on a specific block of code?
I am creating a HUGE dynamic 3d array of objects, 1000x1000x1000 and need the build to actually finish the initializing.
Your best bet would be to try and refactor your code. Perhaps you can make use of this tutorial which deals with the exact problem you are having.
http://www.senocular.com/flash/tutorials/asyncoperations/
Increasing the timeout is one option, however I would also suggest considering an approach that would build your arrays over multiple frames, that is splitting the work up into separate jobs. As long as you give control back to the Flash Player every once in a while, you will not get this exception.
I'm not certain of the specifics of your problem, however you will need to find a way to parallelize or just simply segment your calculations. If your algorithm centers around one major loop, then consider creating a function that takes all of the arguments necessary to record the context of a single iteration. Then, create a simple control loop that will call this function and determine when to wait until the next frame and when not to. Leveraging AS3 closures can also help with this.
Look for the script execution time limit in the "Publish Settings" (Flash). If you're using Flex, maybe this one can be useful: http://livedocs.adobe.com/flex/3/html/help.html?content=compilers_14.html (check default-script-limits, max-recursion-depth, max-execution-time). Oh! It seems there's apparently no way to make it behave in a different way on a specific piece of code (it is a global setting).
I do not approve the increse timeout option. Because for all this time your appllication is just hangs the whole Flash player. And normaly user thinks it is down, and forses it to quit.
check this one out: How to show the current progressBar value of process within a loop in flex-as3?
And then you can even show the progress which would be really more confident for you and for user.

When processing a SSAS cube, how can I gain visibility into progress?

When I issue the ProcessFull command, I would like to know the following:
What is the current dimension being processed
How many more dimensions will need to be processed before the ProcessFull command completes
What APIs can I use to build my own progress bar?
The way that SSMS and BIDS do this is by listing to trace events (the one that you can see using SQL Profiler).
So you could use AMO to get a list of all the dimensions, cubes, partitions, etc in your database, then when the processing starts you can capture the trace events.
You can actually do this all via AMO if you use the SessionTrace object and attach event handlers you can listen to the events that relate to methods called within that AMO session.