기업을 위한 IT 전문 파트너
  • YourKit Java Profiler (Floating)
  • SNS공유 페이스북 트위터
YourKit Java Profiler (Floating)
  • YourKit Java Profiler (Floating)
  • 강력한 분석기능과 빠르고 쉬운 설치, 사용자 편의성을 가진 주문형 프로파일링 프로그램

  • 제조사 : YourKit,LLC Brand Shop
  • 제품번호 : 3955
유사 기능 제품
자바 개발 지원
 
가격정보
P# OS언어제품구분버전소비자가공급가견적주문
01
113
MLP 영문 Single license 1 year of basic support 현 시점 최적가로 견적을 받아보세요   3,994,100 3,874,200 견적요청
02
113
MLP 영문 5- license pack 1 year of basic support 현 시점 최적가로 견적을 받아보세요   4,788,300 4,644,200 견적요청
03
113
MLP 영문 Single license 1 year of advanced support 현 시점 최적가로 견적을 받아보세요   5,187,600 5,032,500 견적요청
04
113
MLP 영문 5- license pack 1 year of advanced support 현 시점 최적가로 견적을 받아보세요   6,219,400 6,032,400 견적요청
05
113
MLP 영문 Single license 2 years of advanced support 현 시점 최적가로 견적을 받아보세요   8,285,200 8,036,600 견적요청
06
113
MLP 영문 5- license pack 2 years of advanced support 현 시점 최적가로 견적을 받아보세요   9,874,700 9,578,800 견적요청
    위 가격은 부가세를 포함한 가격 입니다.
  • 견적 및 주문을 진행하시려면 로그인이 필요합니다.
  • ‘주문’이 활성화 되어 있지 않은 제품은 ‘견적요청’을 해주시면 현 시점 최적가로 제공 해드립니다.
요약정보

강력한 분석기능과 빠르고 쉬운 설치, 사용자 편의성을 가진 주문형 프로파일링 프로그램

전문적인 Java 개발자들에게 최고의 혜택을 주어 개발 및 생산 단계 모두에서 애플리케이션을 프로파일링에 혁신적인 접근이 가능하도록 개발된 도구로 윈도우, 리눅스를 포함한 모든 플랫폼에 대한 접근이 가능합니다.

동일계열 제품



상세정보

[Overview]

The Industry Leader Among Profiling Tools

CPU and memory profiling has never been easier, and smarter at the same time. YourKit has developed a revolutionary approach to profiling applications at both development and production stages, bringing unparalleled benefits to professional Java developers on all platforms, including Windows, Linux, Mac OS X, Solaris, FreeBSD, HP-UX and AIX.

> Powerful analysis capabilities: CPU and memory hot spots with devoted views; unique snapshot comparison; memory leak detection; memory distribution reports; measuring of shallow and retained sizes of objects; reporting utility.

> On-demand profiling: With this cutting-edge feature, you can enable profiling only when you need it, with the application running at its full speed for the rest of the time. For example, you can analyze the current heap state at any moment during application runtime by capturing a memory snapshot. This feature is extremely useful for profiling huge applications - with zero overhead.

> Free embedding into production: You are eligible to distribute a profiling DLL with your real-world commercial applications free of charge. This helps you ease your product maintenance and improve your customer support.

> J2EE support: Non-intrusive profiling of high-scale production applications; easy integration with application servers; innovative automatic deobfuscator.
Java 5/6/7 support: YourKit utilizes all of the advanced Java 5/6/7 profiling features.

> Quick and easy installation: Straight-forward installation process, with the most reasonable defaults; seamless integration with popular IDEs and application servers; minimum extra configuration.

> User-friendliness and usability: Light-weight and intuitive scenario-based user interface; keyboard support; report filtering for quick and deep analysis; profiling natively incorporated into supported IDEs to be available from the most obvious and reasonable places.

> Flexible licensing policy: Multi-platform and multi-processor licensing: commercial, floating, educational, and open source licenses available.
 

 

[Features]

<General>

 * On demand profiling

 Many existing profilers are very heavyweight and cannot be run in production, but only doing testing. And there is a cumbersome process of running the application within the profiler.

Effectively running a profiling tool that has high overhead causes a large amount of problems, as it can often take hours to properly get the tool to a point in a project where the failure occurs.

YourKit Java Profiler optimizes the process by profiling where, when and what is needed. CPU profiling adds no performance overhead to the application being profiled until profiling is explicitly started. You can start and stop CPU profiling during execution of Java application as many times as you wish.

YourKit Java Profiler streamlines the memory profiling process by making object allocation monitoring an option. This greatly reduces the amount of system resources needed to profile an application, and increases the overall performance and speed of the profiling job in general. It is so lightweight that can be considered "zero overhead".

 * Easiest installation and configuration

In our view, profiling should be non-intrusive and very easy to use. During today's fast track development, this is invaluable to allow developers to seamlessly integrate profiling into development process.

The profiling can be done at the will of the developer, at any point during an applications run time. This allows for a much lower impact on system resources, lower time consumption, and a more precise profiling of the application.

No need for cumbersome installations and separate run processes like traditional profilers.


 * Unlimited profiling for one fee

Commercial license allows running of an unlimited number of Java applications with the profiler agent in development, testing or production stages.


 * Profiling of J2EE applications

Action "Tools | Integrate with J2EE Server..." automatically enables profiling in a number of popular application servers:

    • Geronimo
    • JBoss
    • Jetty
    • JRun
    • Orion
    • Resin
    • Sun Application Server / GlassFish
    • Tomcat
    • WebLogic
    • WebSphere

If your server is not on the list, use the "Generic server" option.

If J2EE server runs on a remote machine, use a console version of J2EE integration wizard. This feature is invaluable when you have only telnet/ssh etc. access to the remote machine. Then you will be able to run the profiler UI on your workstation and profile the server remotely.

Also you can automatically run J2EE server with profiler from within your IDE with the help of IDE integration.

Read more about profiling J2EE applications.


 * Ability to profile in production environment

Extremely low overhead allows production code profiling.

If profiled code is obfuscated, profiler can automatically restore the original names of classes, methods and fields. Currently, we support RetroGuard, Zelix KlassMaster, ProGuard, yGuard.


 * Full Java 5 support

YourKit Java Profiler uses new profiling capabilities introduced in Java 5. The profiler benefits from using new JVMTI API, allowing for analysis of very large memory heaps and leading to increased stability when profiling large projects.


 * Full Java 6 support

If profiled application runs on Java 6, YourKit Java Profiler uses new profiling capabilities introduced in Java 6:

    • Memory snapshot is captured automatically on OutOfMemoryError
    • Native methods are included in CPU profiling results
    • Lengths of arrays are exact in memory snapshots

 * Full Java 7 support

Profiling is fully supported for applications running on Java 7.


 * Rich multiplatform support

Both YourKit Java Profiler and the profiled application can run on the following platforms:

    • Windows 7, Windows Server 2008 R2, Windows Vista, Windows Server 2008, Windows XP, Windows Server 2003; 32-bit Java (x86) and 64-bit Java (x86-64)
    • Linux, 32-bit Java (x86) and 64-bit Java (x86-64)
    • Mac OS X 10.4 and newer, Intel, 32-bit and 64-bit Java
    • Solaris 9 and newer, SPARC, 32-bit and 64-bit Java
    • Solaris 10 and newer, x86, 32-bit and 64-bit Java
    • FreeBSD 7 and newer, i386 and amd64 (aka x86-64)
    • HP-UX IA64, 32-bit and 64-bit Java
    • AIX, 32-bit Java (ppc) and 64-bit Java (ppc64)
It is even possible to have 'mixed' configurations.

For example, you can start profiler on a Windows desktop and profile server running Linux or any combination thereof.

Supported Java versions:

    • Sun Java 1.3, 1.4, 5, 6 and 7
    • JRockit 5 and 6
    • IBM Java 5, 6, 7

 * 32-bit and 64-bit Java support

32-bit and 64-bit JVMs are supported on each of the supported platforms.


 * Telemetry

This feature allows viewing key information about an application in runtime within live graphs, providing details about memory, garbage collection activity, loaded classes, threads, as well as JVM and OS information.

Very useful and unique feature is that the telemetry information is remembered inside the profiler agent. This allows to connect to profiled application on demand, being able to discover how the application has behaved in the past.

When you are connected to profiled application, find telemetry tabs on the session panel.


 * Automated profiling: profiler API and command line tool

Profiler API allows users to integrate YourKit Java Profiler programmatically. Create extra value by integrating memory and CPU utilization profiling ability into your application.

Alternatively, command line tool can be used to control profiling without using the profiler UI.


 * Filters in CPU and memory views

Filters can be used in YourKit Java Profiler to reduce the depth of call trees. By skipping successive calls of e.g. standard library methods, you can give more focus to problematic methods of profiled application.

Filters are applied to views where method call stacks are shown, as well as to hot spot and method list views. With same snapshot you can use different filters or use no filters at all - you do not need to start a new profiling session for such a change. Views are automatically updated when filter settings are changed.

Use "Settings | Filters..." to configure filters.

Filters are used in runtime as well to reduce CPU tracing overhead.

See corresponding help topic for detail.


 * Improved learnability

It's easier for newbies to discover the power of the profiler thanks to the following new features.

Hint panel provides direct links to context-related Help topics.

Innovative master-slave view concept allows to see key information on a single screen.

This feature greatly improves usability.

For example, when a method is selected in upper table, you can immediately see back traces or merged callees in the slave view below.

Another example: in memory views immediately see paths from GC roots:


 

 * Remote profiling

YourKit Java Profiler provides an ability to profile applications remotely, i.e. in case the profiled application and the profiler UI run on different machines. For example, this is much useful when profiling a remote J2EE server from your workstation.

Snapshot captured on remote host can be automatically transferred via network to the local machine.

 * Ability to export profiling results

You can export all reports and data to:

    • HTML, optionally packing all generated files to a single ZIP archive
    • CSV ("comma separated values") format 
    • XML
    • Plain text format

In particular, you can export telemetry data (right-click a graph to invoke a popup menu):

"File | Copy To Clipboard..." (Ctrl+C or another platform specific shortcut) action copies text of selected row in all trees and lists.

Also you can automatically export some basic views using a command line tool.


 * Summary, snapshot annotation and automatic deobfuscation

The "Summary" tab provides an overview of JVM properties and parameters of profiled application, as well as a summary of application telemetry information.

Automatic deobfuscation
If the profiled application is obfuscated, YourKit Java Profiler can automatically restore original names of classes, fields and methods if you specify the path to the obfuscation log file.

Snapshot annotation
The "Summary" view for a snapshot lets you store free-form text descriptions directly in the snapshot file.

 

<CPU profiling>
 * CPU telemetry

   • The "CPU" tab shows live CPU consumption statistics.

Also, you can learn what application was doing at particular moments of time with the help of thread stack traces available in telemetry graphs. This is extremely useful analyzing CPU or other resource consumption peaks that have already happened, without CPU profiling (sampling, tracing) turned on. However, this is not a replacement of CPU profiling when you need most accurate and detailed results.


   • When the profiling is started, the bottom table on "CPU" tab shows top-down call tree with calls from all threads merged:

This live view provides only basic information. To perform comprehensive analysis capture performance snapshot.

Read more about CPU profiling.


 * Sampling and tracing

You can choose either of the two available measurement modes: sampling or tracing.

When sampling is used, the profiler periodically queries stacks of running threads to estimate the slowest parts of the code.

Sampling is typically the best option when your goal is to locate and discover performance bottlenecks. With sampling, the profiler adds virtually no overhead to the profiled application.

When tracing is used, the profiler instruments the bytecode of the profiled application for recording thread CPU time spent inside each profiled method. Both times and invocation counts are available.


 * J2EE high-level profiling

YourKit Java Profiler provides means for profiling J2EE applications in high-level terms like SQL statements and URLs.

Execution time and invocation counts are available for particular SQL and HTTP queries.

"SQL" section shows list of SQL statements and back traces for all methods invoked with these statements.



"JSPs and Servlets" section shows list of URLs, corresponding to JSPs and Servlets calls, and merged callees for all methods invoked with these URLs.



"JNDI" section shows list of URLs, corresponding to JNDI calls, and back traces for all methods invoked with these URLs.


 * CPU views: hot spots, method call tree and method list

CPU view ("View | CPU") shows CPU consumption details.

"Call tree (all threads together)" section shows top-down call tree with all threads merged.


"Call tree (by thread)" section shows top-down call tree for each thread.


"Hot spots" shows methods that consumed the most of CPU time.


"Method list" for each method shows its CPU time, own CPU time and, if recorded, invocation count.


 * "Callees list" view

"Callees list" view shows which methods were called from certain methods. It is available as a slave view in:

    • Call tree
    • Hot spots
    • Method list


 * Unique "Merged callees" view

Quickly gain knowledge about behavior of a certain method. The "Merged callees" view shows merged call traces started from the method. This gives a summary of method execution, of its "overall" behavior.


Action "View | Method Merged Callees" opens this view for the currently selected method.


 * Method back traces view

"Back traces" view shows all places in code where a certain method was called.


Action "View | Method Back Traces" opens this view for the currently selected method.


 * Ability to ignore particular methods or focus on particular methods only

Analyze CPU profiling results, ignoring particular methods or focusing on particular methods only



 * CPU usage estimation

You can estimate CPU usage in given time range, basing on available stack trace telemetry:

Unlike CPU sampling, which should be explicitly started to obtain results, CPU usage estimation results are always available, as long as stack telemetry is enabled.

This makes CPU usage estimation an ideal tool for analysis of anomalies such as CPU spikes, especially those which has already happened, so you do not need to turn CPU sampling or tracing on and try reproduce the spike.


 * Ability to compare CPU snapshots

With YourKit Java Profiler, you can compare two arbitrary CPU snapshots.



 * Measure either CPU time or wall time for particular methods

Use "Settings | Wall Time Methods..." to specify methods for which wall time should be measured instead of CPU time:


 

<Probes>
 * Analyze issues specific to your particular application, as well as automatically recognize problems typical to wide range of applications Thread and synchronization issues:
 * Thread telemetry

Use tab Threads to track the live threads.


 * Automatic deadlock detector

If a Java-level deadlock happens in the profiled application, it will be automatically detected:


 * Monitor profiling

Monitor profiling allows analysis of synchronization issues:

    • which threads were calling wait(), and for how long
    • which threads were blocked on attempt to acquire monitor held by another thread (synchronized methods/blocks), and for how long

Monitor profiling results are shown in the "Monitor Usage" view. Results can be grouped by waiting thread, by blocker thread and by monitor class name.



 

<Memory profiling>
 * Memory telemetry

   • The "Memory" tab shows live memory usage statistics:

   • The bottom table on "Memory" tab provides a class instance count statistics - a quick overview of current heap state:

This view provides only basic information. To perform comprehensive analysis capture memory snapshot.


 * Unique comprehensive Objects view

Objects view allows comprehensively examine all objects in snapshot or certain subset of objects.

"Biggest objects (dominators)" view shows individual objects that retain most of memory. Save time and find the largest problems quickly. The objects are shown as a dominator tree.


This information can be useful to understand and reduce memory usage. In particular, this is useful to find memory leaks caused by individual objects. Sometimes it can be educative to learn about memory distribution in terms of individual objects.

Unique "Class list" view is a powerful tool for examining how memory is distributed among instances of different classes.

This view provides instant feedback about which classes of the profiled application are consuming the most of the memory, causing memory leaks etc.

Classes whose objects retain most memory are shown at the top, as the list is sorted by retained size.

On opening the view, estimated retained sizes are shown instead of exact sizes, which cannot be immediately calculated. The exact sizes may be obtained by using "Calculate exact retained sizes" balloon above the "Retained Size" column. However, for most classes the estimation is very close to the exact value, so there is almost no need to run exact size calculation.


"Merged paths" view is a tool for examining how objects are retained. It is especially useful when analyzing objects of classes with big number of instances, such as int[] or java.lang.String etc.

"Merged paths" is similar to "Paths from GC roots" view, but unlike it shows not paths through individual objects, but paths from multiple objects grouped by class.

For example, see the picture below. The "Merged paths" view shows that the memory hold by int[] instances is mostly retained by VelocityCharStream instances, which in their turn are retained by Parser and ParserTokenManager.

"Object explorer" shows all objects of the set and allows to browse their outgoing references. Outgoing references of an object are fields or array elements of the object that point to other objects.


"Incoming references" shows all objects of the set and allows to browse their incoming references. Incoming references of an object are references to that object.


"Class loaders" shows objects grouped by class loader. This view can help solving issues such as leaked loaders.


 * Easy way to browse instances of particular class

Use "View | Instances by Class..." action to browse all instances of particular class. It is also very useful when you want to check whether instances of certain class exist or not.

The camel humps notation is supported.

 * "Find Paths" helps to find reasons of memory leaks

YourKit Java Profiler has unique and very powerful means for memory leak detection - calculation of paths between objects in memory. To find the reason of the leak examine path from GC roots to a leaked object.



You can choose number of shown paths from the list above the view.

You can also find paths between defined sets of objects.

You can ignore particular references in paths. This feature is a great aid when investigating memory leaks, because it immediately shows whether nulling particular reference eliminates the leak, and if not, which remaining references you should also consider.


 * Find objects by text pattern

"Memory | Strings by Pattern... (Ctrl+F)" action shows instances of java.lang.String, char[] and byte[] that match given text pattern. The objects can be found in entire snapshot or in custom objects set. This can be useful to locate particular objects if their fields refer to a known string.


 * Optional recording of object allocations

YourKit Java Profiler can optionally record object allocations, i.e. track method call stacks where objects are created. Since recording of allocations can impact performance of application being profiled, you can turn this mode on only for the periods when it is needed.

Allocation recording is used to find sources of excessive garbage allocation and analyze where live objects are created.


If allocations are recorded, Objects view will appear with additional sections.

"Call tree (all threads together)" section shows top-down call tree with methods where objects from the set were created. Calls from all threads are merged.



"Call tree (by thread)" section shows a per-thread top-down call trees with methods where objects from the set were created.



"Hot spots by object count" section shows methods where biggest number of objects was created.



"Hot spots by object size" section shows methods where objects with biggest total shallow size were created.



"Method list" for each method shows the number and shallow size of objects it had created.



The "Garbage Collection" view is a good starting point to search for excessive garbage allocation. It shows numbers and shallow sizes of collected objects, i.e. objects created since allocation recording was started and recycled to the moment of snapshot capture. See Solving performance problems to learn more why one should avoid excessive garbage allocation.



 * Automatic inspections

Share experience of typical memory related problems recognition with the help of the "Inspections" feature, which provides means for automatic high level analysis of application memory. Each inspection automatically detects specific memory oddities. Doing such analysis by hand would be a very complicated (if ever possible) task.

With the help of inspections you can easily find causes and possible solutions of usual memory related problems:

    • "Duplicate Strings"
    • "Null Fields"
    • "Sparse Arrays"
    • "Zero Length Arrays" finds if there are large numbers of zero length arrays of same type
    • "Objects Retained by Inner Classes" finds objects only referenced via inner class synthetic back references (easy to do this unintentionally, and may cause leak)
    • "Lost SWT Controls"
    • "Highly Referenced Objects"
    • "Self Referencing Objects"
    • "Non-Serializable Objects Referenced from Serializable Objects"

"Inspections" view is added to any tab representing objects, such as "Memory" or any subset. Inspections for all objects (i.e. for the entire snapshot) are also available via top-level tab "Inspections'.



 * Object generations

The generations distribute objects by time of their creation, and thus they are very helpful finding memory leaks and doing other analysis of how heap content evolves in time.

When each object is created, it is associated with current generation number. The generation represents object's age: the smaller the generation number, the older the object.

All tabs representing live objects have "Generations" view. In this view, you get objects separated by time of their creation:


 * "Dead objects" view

"Dead objects" shows objects that are not accessible from GC roots but still present in snapshot (i.e. not collected yet). The view can be used to analyze excessive garbage allocation, especially if the snapshot doesn't contain recorded object allocation information.


 * "Quick Info" view

"Quick Info" view shows useful information about selected object(s), such as:

    • Retained and shallow size
    • Object count
    • Allocation trace, if available
    • Stack traces, if there are local variables referencing to the selected object, as well as the variable names, if corresponding debug info is available
    • Object generation information, if available
    • Primitive array elements

 * Ability to automatically capture snapshots on event

You can instruct the profiler to trigger capturing of snapshots.

There are 3 kinds of triggers available:

    • Capture snapshot on high memory usage
    • Capture on OutOfMemoryError
    • Capture snapshots periodically

The triggers can be set up and later altered during profiled application run time.

When triggered memory snapshot is captured notification is shown in UI:



 * Ability to compare memory snapshots

With YourKit Java Profiler, you can compare two arbitrary memory snapshots.




 * Automated comprehensive memory tests

YourKit's descriptive XML based language allows users to declare custom sets of objects in order to find memory leaks and examine memory distribution.



The descriptive language for memory analysis and profiler API allow to write comprehensive memory tests.


 * Support of HPROF format snapshots

Java has a built-in feature - under certain circumstances, to save memory dumps into files in so-called HPROF format. You can analyze these files using all of the powerful features that YourKit Java Profiler provides for its own memory snapshots.

HPROF format memory dumps can be created in the following ways:

    • On OutOfMemory
    • Explicitly from within the profiler UI (Java 6)
    • Explicitly via jmap utility (Java 6)
    • Explicitly via jconsole utility (Java 6)


 * Values of primitive types

Primitive fields (int, boolean, double etc.) and primitive array elements are shown in object explorers:



For byte[] Quick Info shows text representation in specified encoding:


 

<Exception profiling>

 * Exception telemetry

"Exceptions" telemetry shows exceptions which were thrown in the profiled application.


 

<Garbage collection profiling>

 * Garbage collection profiling

"Garbage Collection" telemetry will help you estimate garbage collector load. If garbage collection takes a significant amount of time, it is advised to profile memory allocation to pin-point and optimize the problematic code.

<IDE integration>

 * Eclipse

 * IntelliJ IDEA

 * NetBeans

 * JDeveloper

 

[Benefit]

Everything You Need to be Top Notch
YourKit Java Profiler is the leading profiling tool in the Java market that delivers the most innovative, powerful and smart performance analysis capabilities. YourKit Java Profiler provides extreme time savings as well as solid assurance features. Most of its features are not simply unrivaled but absolutely unique.

Quality
YourKit helps you solve performance and scalability problems at the early stages of development, thus ensuring product quality from the very beginning. The ability to profile Java applications not only during testing but even in production results in substantial increases in the final product quality and the level of customer support.

Productivity
YourKit users enjoy massive productivity gains by having all of the advanced YourKit features at hand when they are needed most and by utilizing its seamless integration with the most popular IDEs and application servers.

Time savings
With the unique on-demand profiling, you can run the profiled application with absolutely zero overhead, activating actual profiling only when it is needed. This functionality together with the overall speed of profiling leads to dramatic savings in the developer&apos;s time.

Higher ROI
Using g YourKit Java Profiler ensures quality, boosts productivity and delivers time savings, in the end resulting in higher efficiency and a quick return on your investment. Our flexible licensing policy with multiple bonuses and minimum restrictions has proved to be highly effective and beneficial to our users.
 


 

YourKitJavaProfilerFloating, YourKit,LLC
견적요청
인터파크 큐브릿지 IT영업부

자세히보기
  • Office 365
  • CCT
TOP