DTrace and the SE Toolkit

What does DTrace mean for the future of the SE Toolkit?
I can't help but think that DTrace is an official supported
replacement for the SE Toolkit.
Is it possible that in the internal repository of D scripts
that 1-for-1 replacement of the standand SE examples
already exsist?
And I imagine that most of the other unofficial tools
could be replaced with DTrace as well, such as my
beloved memtools.
DTrace is really awsome. The new features of
Solaris10 keep blowing me away with each Express/Beta
release. A big thank you to everyone involved in the
Solaris10 release at Sun.
Ben Rockwood

Hey Ben,
Thanx Bryan. I admit that I'm thinking of DTrace more
as a monitoring tool, namely because in the past I've
been constrained to tools provided to me (vmstat,
iostat, memtools, SE, etc) and learned to make
educated guesses at whats happening rather than
digging deeper into the real cause. Namely because as
an SA I don't generally have time to craft my own
system tools in C, and certainly don't have time to QA
them to the point of being comfortable running them on
my production systems. And as for MDB, there is just
too much room for (percieved) damage to be done, and I
don't trust my self that much. It looks like DTrace
might finally be able to bridge that gap for me and
other SAs.Yes, absolutely. And we're trying to make it even easier by adding more providers with meaningful semantics. (e.g., a "sched" provider with probes related to CPU scheduling, a "proc" provider with probes relating to process activity, etc.) Watch for the first of these in Solaris Express 4/04, with more to follow in future builds.
Oh, and I've got to add.... as I read the manual
tonight I burst into laugher at the chill() function.
That is awsome! It's nice to see a little humor here
and there. Please give a warm pat on the back for
whomever named that function and to the TechPubs
folks for writting a really nice and easily readable
yet informative manual.I can't remember who came up with the name, but it would have been Matt Ahrens (on the ZFS team), Adam Leventhal (on DTrace) or me. We figured DTrace was overdue for a little humor -- and it beats the hidden humor in MDB. (Most of the MDB humor boils down to references to either adb(1), or Language H -- an obscure, bizarre business-oriented programming language from NCR in the 1950s. Yes, we think it's hysterically funny and no, we don't get out much.)
And thanks for the kind words about the manual. As it turns out, we (the engineers on the DTrace team -- MIke Shapiro, Adam Leventhal and I) wrote 100% of it -- so at least you know who to blame. ;) Actually, if you have any nits about the manual, please let us know -- and certainly let us know if you have ideas on how we could make it even more readable!
- Bryan
Bryan Cantrill, Solaris Kernel Development. [email protected] (650) 786-3652

Similar Messages

  • Why do I get a class conflict between the Prepare SQL.vi and the Get Column Name.vi with the SQL Toolkit compatibility vis from the Database Connectivity Toolkit?

    I have done extensive programming with the SQL Toolkit with LabVIEW versions through 6.1. My customer now wants to upgrade to Windows 7, so I am trying to upgrade to LabVIEW 2009 (my latest purchased version) using the Database Connectivity Toolkit, and the SQL Toolkit Compatibility vis. Everything seemed to be going okay with the higher level SQL operations, but I ran into trouble with the Get Column Name.vi. 
    The pictures below show the problem. The original SQL Toolkit connected the Prepare SQL.vi with the Get Column Name.vi with a cluster of two references, one for connection, and one for sql. The new compatibility vis have a class conflict in the wire because the Prepare SQL.vi contains a cluster with connection, and command references, but the Get Column Name.vi expects a cluster with connection and recordset references. 
    How do I resolve this conflict?
    Thank You.
    Dan

    I've never worked with the old version of the toolkit, so I don't know how it did things, but looking inside the SQL prep VI, it only generates a command, and the the column name VI wants a recordset. I'm not super familiar with all the internals of ADO, but my understanding is that is standard - you only have the columns after you execute the command and get the recordset back. What you can apparently do here is insert the Execute Prepared SQL VI in the middle and that will return what you need.
    I'm not sure why it worked before. Maybe the execute was hidden inside the prep VI or maybe you can get the column names out of the command object before execution. In general, I would recommend considering switching to the newer VIs.
    Try to take over the world!

  • Using the XMP Toolkit in Illustrator

    I'm trying to read information from the XMP metadata of a linked image in Illustrator from a Plugin. The SDK doesn't seem to provide a full API for manipulating XMP apart from the ability to obtain the XMP packet from an art object via the AIArtSuite with GetArtXMP(...) etc.
    So naturally I went for Adobe's XMP Toolkit to do the hard work for me, however I've run into some strange issues that have me a little stumped. Basically, no matter what I do, after calling anything from the XMP Toolkit (SXMPMeta), I end up with either a SIGABRT or BAD_ACCESS in a random object destructor such as ai::FilePath or std::string.  I assume this is due to some memory being deallocated too early based on my usage of the toolkit.
    Doing a bit more reading, I see that the XMP Toolkit uses a singleton pattern under the hood. This leads me to believe that there is some conflict with Illustrator's own implementation of the toolkit and my own.
    Could anyone shed any light on this? Is there another way I should be doing this? Any help anyone can give me would be hugely appreciated!
    Thanks!
    -W
    *Edit: I've linked to the XMP Toolkit both statically and dynamically, each time with the same results.
    Another interesting thing I noticed is that if I compile both my plugin and the XMP toolkit with "Symbols Hidden By Default" (GCC_SYMBOLS_PRIVATE_EXTERN) set to "NO", I don't get a crash, but I can't register my namespaces. They just don't appear in the list of namespaces even after dumping the namespace list out directly after the call to SXMPMeta::RegisterNamespace(...)
    Should I be asking in the XMP Toolkit forum?

    Please ignore this post. The problem was in my own code. I was stomping over memory that wasn't mine to stomp over.
    /idiot

  • I am using the Order Analysis Toolkit and want to get more information about the compensation for "Reference Signal Processing", which is scarce in the manuals, the website and the examples installed with the toolkit.

    I am using the Order Analysis Toolkit and want to get more information about the compensation for "Reference Signal Processing", which is scarce in the manuals, the website and the examples installed with the toolkit.
    In particular, I am analyzing the example "Even Angle Reference Signal Processing (Digital Tacho, DAQmx).vi", whose documentation I am reproducing in the following:
    <B>DESCRIPTIONS</B>:
    This VI demonstrates how to extract even angle reference signals and remove the slow-roll errors. It uses DAQmx VIs to acquire sound or vibration signals and a digital tachometer signal. This VI includes a two-step process: acquire data at low rotational speed to extract even angle reference; use the even angle reference to remove the errors in the vibration signal acquired at normal operation.
    <B>INSTRUCTIONS</B>:
    1. Run the VI.
    2. On the <B>DAQ Configurations</B> tab, specify the <B>sample rate</B>, <B>samples per channel</B>, device and channel configurations, and tachometer channel information.
    <B>NOTE</B>: You need to use DSA PXI-447x/PXI-446x and PXI TIO device in a PXI chassis to run this example. The DSA device must be in slot 2 of the PXI chassis.
    3. Switch to <B>Extract Even Angle Reference</B> tab. Specify the <B>number of samples to acquire</B> and the <B># of revs in reference</B> which determines the number of samples in even angle reference. Click <B>Start</B> to take a one-shot data acquisition of the vibration and tachometer signals. After the acquisition, you can see the extracted even angle references in <B>Even Angle Reference</B>.
    4. Switch to the <B>Remove Slow-roll Errors</B> tab. Click <B>Start</B> to acquire data continuously and view the compensate results. Click <B>Stop</B> in this tab to stop the acquisition.
    <B>ORDER ANALYSIS VIs USED IN THIS EXAMPLE</B>:
    1. SVL Scale Voltage to EU.vi
    2. OAT Digital Tacho Process.vi
    3. OAT Get Even Angle Reference.vi
    4. OAT Convert to Even Angle Signal.vi
    5. OAT Compensate Even Angle Signal.vi
    My question is: How is the synchronization produced at the time of the compensation ? How is it possible to eliminate the errors in a synchronized fashion with respect to the surface of the shaft bearing in mind that I am acquired data at a low rotation speed in order to get the "even angle reference" and then I use it to remove the errors in the vibration signal acquired at normal operation. In this application both operations are made in different acquisitions, therefore the reference of the correction signal is lost. Is it simply compensated without synchronizing ?
    Our application is based on FPGA and we need to clarity those aspects before implementing the procedure.
    Solved!
    Go to Solution.

    Hi CracKatoA.
    Take a look at the link bellow:
    http://forums.ni.com/ni/board/message?board.id=170&message.id=255126&requireLogin=False
    Regards,
    Filipe Silva

  • I want to use the SQL Toolkit of NI and SQL Server as my databasis on a server. Do I need to install a client in each computer I want to handle the data into SQL tables or I need only a ODBC driver?

    I want to use the SQL Toolkit of NI and SQL Server as my databasis on a server. Do I need to install a client in each computer I want to handle the data into SQL tables or I need only a ODBC driver?

    You only need the ODBC driver on each computer. If you are distributing the SQL Toolkit app as an executable and do not install the whole toolkit on each computer, you'll need the SQL Toolkit support files. This is about a dozen files. You can get the list at http://digital.ni.com/public.nsf/websearch/b814be005f9da9258625658700550c75?OpenDocument.

  • Does the Modulation Toolkit support digitizers NI-PXI-5124 and NI-PCMCIA-5102?

    I am using a demonstration NI-PXI unit to determine if it will support the application I am trying to develop. I need to demodulate a signal and determine the Quasi-peak value of the demodulated signal. The Modulation Toolkit states that it works with the 100MHz class of digitizers. Does it also support the 20 MHz and the 200 Mhz class of digitizers (NI-PXI-5124 and NI-PCMCIA-5102)?

    Kent,
    The Modulation Toolkit is fairly robust. I believe that it will work fine with the 20 and 200 MS/s boards. However, these obviously have to stay towards the lower frequency end of the spectrum. The Modulation Toolkit is most powerful with NI's RF products and is designed to do so. However, as I said, I believe that since the MT stays mostly on the software side and does not care too much about hardware it will not care about where the signals are coming from and will work for you.

  • The difference of sinad.vi between Sound & Vibration Toolkit and Singal Processing Toolkit

    Hi, I'm confused with the the difference of sinad.vi between Sound & Vibration Toolkit and Singal Processing Toolkit.
    When the input waveform is single tone, the output is almost the same, but raises much discrepancy while a certain distribution of the spectrum. Does the sinad.vi have some limitation to the input signal? Did I miss some setting of the terminals? Hope someone can give me some suggestion.
    Attachments:
    SINAD(Front).png ‏85 KB
    SINAD(Block).png ‏77 KB

    Hi, here's the subVI for the test! Hope someone can give me some suggestion.
    Attachments:
    SINAD.vi ‏96 KB

  • No icon in the control and simulation palette, toolkit is instaled

    only question marks on the palette

    Hi Adj;
    Do you have more information on the LabVIEW and the control design and simulation toolkit you are using?
    Here is a document that solves that issue for LabVIEW 8.2 and Control Design and Simulation Toolkit 2.1.1:
    http://digital.ni.com/public.nsf/allkb/57E03AEB671A6D9F8625725A0079E37F?OpenDocument
    I hope the information is useful
    Good Luck! 
    Francisco Arellano
    National Instruments Mexico
    Field Systems Engineer - Energy Segment
    www.ni.com/soporte

  • Problem using PID toolkit and control design toolkit to design the closed loop system. (for DC motor closed loop)

    Hi, i have facing some problem during i upgrade a project. This project is an opened loop system, it only achieved up to controlling the speed of motor, detecting the speed of motor, and switching the direction of motor while controlling the motor (This motor is a 12 VDC motor).
    In order to improve the project, closed-loop dc motor control system will be implemented to correct the error of the motor's speed and maintaining the speed for the initial setting. I would like to use PID control method to do the closed loop system.
    I already installed the PID toolkit V8.2 and control design toolkit V2.1.2, and i'm using DAQ usb 6221, LabVIEW 8.5
    Below is my problem.
    http://img177.imageshack.us/my.php?image=howtocreatethesetpointnx2.jpg
    question: 1. How to generate a icon for set point? my setpoint is duty cycle...
                    2. How to feedback the output duty cycle to summing junction?
    below this is my basic concept
    http://img237.imageshack.us/my.php?image=closedloopbz5.jpg
    Problem 2:
    http://img357.imageshack.us/my.php?image=problem1yk2.jpg
    question: Why PID toolkit icon cannot wire to cd series.vi?
    Below is my original program...
    http://rapidshare.com/files/140538836/pwm_generate-final_PSMII.vi.html

    Hi Cyrus
    Have you had the opportunity to see our
    developer zone site on the PID toolkit? This article also has sample
    code at the bottom that may help you in developing your application. I
    have also linked below knowledge bases regarding setting a point
    profile and generating a PWM from a digital output line. 
    PID toolkit
    http://zone.ni.com/devzone/cda/tut/p/id/6440 
    How to generate a set point profile:
    http://digital.ni.com/public.nsf/allkb/125F27AC143B6AFD86256C2B0004A4DC?OpenDocument
     How to generate a PWM on a digital output line:
    http://digital.ni.com/public.nsf/allkb/1561D31534F07D608625727900391114?OpenDocument 
    Thank You
    Eric Reid
    Thank You
    Eric Reid
    National Instruments
    Motion R&D

  • Can polymorphism be implemented with the GOOP toolkit? And has anyone experimented with ObjectVIEW? How does it compare to the GOOP toolkit?

    I have not experimented with the GOOP toolkit yet, but have done a little with ObjectVIEW.

    Hi,
    Inheritance and polymorphism (implemented as dynamic binding by virtual methods)are supported in the GOOP Inheritance Toolkit from Endevo.
    Please check the following link:
    http://www.endevo.se/default.asp?lang=eng (click on products).
    Regards,
    Mattias Ericsson
    Endevo
    Main developer of the GOOP Inheritance Toolkit

  • I bought extenscript toolkit cc, in a monthly payment of 35 nic. i did everything acording to the instructions and the program i got is adobe aplication manager. and not the program for proccesing a picture - extenscript toolkit cc. please help me. hanan

    i bought extenscript toolkit cc, in a monthly payment of 35 nic. i did everything acording to the instructions and the program i got is adobe aplication manager.
    and not the program for proccesing a picture - extenscript toolkit cc.
    please help me.
    hanan epshtain

    I bought using the software Adobe Creative Cloud for one year.
    I pay in installments months 35 Nice ..
    Adobe sent me an inappropriate application ... I can not get the software I ordered ... I'm asking for help ..
    Unable to send email service department to get answers ..
    This problem ..
    Thank you
    Hanan.

  • ActionEvents and the Toolkit's SelectiveAWTEventListener

    Does anyone know why normal ActionEvents are not delivered to the SelectiveAWTEventListener?
    I have a button on a form that has an ActionListener registered and the button works fine. However if I install a SelectiveAWTEventListener viaToolkit.getDefaultToolkit().addAWTEventListener(this, AWTEvent.ACTION_EVENT_MASK | AWTEvent.WINDOW_EVENT_MASK);I never see ActionEvents.
    I delved through the Java 1.5 code and found that this is correct behaviour - the standard listeners to ActionEvents are called directly off the fireActionPerformed() method of AbstractButton as a result of BasicButtonListener.mouseReleased(). SelectiveAWTEventListener.eventDispatched() is not called.
    What I'm trying actually to detect is when the dialog is about to close. I've tried using the AWT WINDOW_CLOSING event, but that is only fired when the user clicks the window's close icon. AWT WINDOW_CLOSED is (unsurprisingly) only fired after the window has closed.
    I guess at this stage my only option is to listen for MOUSE_RELEASED, but that will give false positives, so I'll have to confirm somehow that the window really is going to close as a result of the MOUSE_RELEASED, and I also need to handle keyboard entry. Yuck!

    I also want to capture JOptionPane events such as OK, Cancel, Yes, No, etc, which cause the dialog to close.
    I've had an idea, and that is to listen for WINDOW_OPENING events on dialogs, and then walk the hierarchy of the dialog's components looking for JButtons. I can then register myself as a listener to ActionEvents on all the buttons, and that way I can detect when any of them is clicked or activated say by Enter.
    The whole point of this exercise is to add window-closing behaviour to all JOptionPane-generated dialogs. As I don't want to subclass or manipulate the JOptionPane class itself in any way, I am restricted to what is possible externally.

  • Dtrace and io problem

    Hi,
    We have an M4000 which is connected to numerous HDS USPV1 LUN's (not sure of the HDS configuration).
    The problem is when a Database load occurs the response time goes from 50ms upto 100ms. There is no io/wait, load average is low, no CPU or memory problems but %b on iostat is constantly at 99/100%.
    Im told the maximum number of IOPS from hds LUN is 720 (and there are 15 LUN's presented to zpool's).
    I turned to dtrace in the hope of finding something which would explain the problem but after reading up countless blogs, PDF's im still at a loss. I downloaded the dtrace toolkit and ran iotop, iosnoop etc etc which although produced a lot of info it was in fact too much info and didnt really show what the problem was (although didnt think it would be that easy).
    In fact when running iosnoop/iowait I received the following:
    dtrace: 679 dynamic variable drops
    dtrace: 1 dynamic variable drop with non-empty rinsing list
    dtrace: 664 dynamic variable drops with non-empty dirty list
    dtrace: 1712 dynamic variable drops
    dtrace: 2074 dynamic variable drops
    dtrace: 2123 dynamic variable drops
    I'll be investigating and reading up further on dtrace but in the meantime if anyone could point me in the direction of a dtrace command which could enlighten me as to the IO problem it would be appreciated. Appreciate its a far reaching question but anything would help!!!
    Thanks.

    Thanks try and go through them one by one.....
    the %b/busy column in iostat is commonly mis-understood. There is a good document in the my support knowledge base explaining why busy is at 100%. It hard to generalise but if %b is 100% with little signs of issues its normally the application (database in this case) is not utilising the hardware, eg going stuff in serials instead of parallel.
    What Does %b (or %Busy) Actually Mean in the Output of iostat(1M)? [ID 1003635.1]
    The 'dtrace: xxxx dynamic variable drops' messages are associated with the internal dtrace log buffers overfilling. Off the top of my head the easier way to address this is reduce the amount of data you are logging, increase the buffer size of increase the rate these buffers are flushed. Try looking at the following two documents. You may be interested in bufsize, dynvarsize and cleanrate.
    http://wikis.sun.com/display/DTrace/Buffers+and+Buffering
    http://wikis.sun.com/display/DTrace/Options+and+Tunables
    No idea where 720 IOPS came from. Very rough rule of thumbs is if you are getting 500 iops from a standard disk your are doing well. With someone workloads you may only see 150 iops. If you look at the specs for some of the arrays your talking 100k iops if not more.
    Stuff changes all the time but last time I looked response times within iostat are the amount of time an io is on the wire PLUS the time to complete that io in software PLUS the time to schedule the next io. So get the numbers iostat reports and compare it those the array is reporting. Are they the same (array saturated?) or different (software issue?) or something else.
    Anyway, play with dtrace and see what you can work out.
    All rather interesting for a nerd.

  • I am using CGI Vis examples in LV6.1, and the VI simply opens when I click on a link. What am I doing wrong?

    I am running Labview 6.1 and am simply trying to learn about the CGI VIs from the examples. I set up the Web Server root directory and I have the cgi-bin directory in it. When I view the provided index.htm file using http://localhost/index.htm, I see the web server document (so the server is working???). I go to the CGI examples and click on the link for CGI Basics. Everytime I click on the link, the vi tries to download with a prompt for SAVE or OPEN. If OPEN is selected the vi opens but does not run. I thought it might be a problem with the browser being on the same machine, so I went to a machine without Labview installed and it still tries to download th
    e vi locally from the server. I assumed from the documentation that the vi runs on the server and sends a request back in html form. I must have missing something or setup wrong. Any help would be deeply appreciated!
    Setup (In case it matters)
    Labview 6.1
    Internet Developers Toolset 5.0
    Windows XP Pro and Windows 2000 Pro (Tried both)
    Internet Explorer 6.0
    Happy New Year to all!!!

    I am not sure what the problem could be and I am a little confused about the exact steps you took. I launch LabVIEW, start the HTTP server, point my web browser to http://localhost/index.htm. This brings of a page entitled G Web server. I click on the button to "View CGI Examples" which redirects by browser to http://localhost/examples/index.htm . I click on CGI Basics and go to http://localhost/examples/basics.htm .
    This page has four groups of examples and within each group there are several examples. All of the examples I clicked on redirected my browser. Is this what you see?
    Was the message to save or open from the browser or from LabVIEW? If it was from LabVIEW, then you might consider mass compiling the VIs on your computer. You can do this
    by opening LabVIEW >> tools >> advanced >> mass compile.
    You might also try a reinstall of the Internet Toolkit. The examples may have been corrupted.
    Finally, LabVIEW 6.1 introduced remote front panels. You might find them easier to use than CGI scripting.

  • LabVIEW 8.6 and report generation toolkit

    I was wanting to upgrade to 8.6 but noticed that my rep gen toolkit(1.1.1) is not compatible.
    Will NI be offering a free upgrade? or do I have to go to management and ask to purchase rep gen toolkit 1.1.3 for 500 US dollars?  Purchasing the same toolkit every few years when you have an SSP for a full development system is getting kind of old.
    Brian

    Unfortunately there is some delay in us Aussies getting the original DVDs sent to us, so at this stage my NI rep has burned me a copy of the main LabVIEW install but I can't find the Report Toolkit on it.
    I am an SSP customer but when I go to the Services Resource Centre I get this message:
    Important Message
    Access to the Services Resource Center could not be verified.
    The email address is not subscribed and/or activated with the appropriate level of service. If this is the incorrect email address, please login here
    Please confirm that your correct country information is specified, please select here
    If you have just subscribed you may need to wait up to 48 hours for your subscription to be processed
    If access is urgent, or to subscribe, please contact a NI Representative at (800) 206-2179. Outside of the US and Canada please contact your local NI branch office

Maybe you are looking for

  • Problem with iMessage

    Hi all ! I have an Iphone 4 s and I want to use iMessage but i can't use it because it uses money. Why have I got this problem if iMessage sends messages free to all who have iOS ?

  • Can I create a new Group by column in  OBIEE analytic Report ?

    Hi Everyone, Here I have a report ProductID Price LCD1 12 LCD2 11 LCD3 10 TV 100 GAME 50 I hope to add a new column on this report in OBIEE and the result should be like below: ProductID Price New_ProductID_Grouped LCD1 12 LCD LCD2 11 LCD LCD3 10 LCD

  • Problem Downloading a File To The User's PC

    My application is based on the 10.1.2 app server and Oracle Portlets. I need to download a file to the user's PC. When the file gets sent to the user I need to have a dialog box open up that asks the user where they want to save the file. What I did

  • Testbanks in oracle ilearning

    Hi, We use Oracle iLearning 5.0 Does anyone know how to create a reandom selection from a testbank when creating a new test? We have a testbank consisting od 50 questions, and want the test to select 20 random questions each time a user starts the te

  • Validation of database object names

    Hello. I need a function that can check whether a given string is a valid database object name. For example: IsValid('col1') -> Yes IsValid('col 1') -> No IsValid('1col') -> No Is there any build in the Oracle or does anyone have such an UDF? Thank i