Skip to content

Instantly share code, notes, and snippets.

@max-mapper
Last active August 29, 2015 14:20
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save max-mapper/ed864c61425b11886cc9 to your computer and use it in GitHub Desktop.
Save max-mapper/ed864c61425b11886cc9 to your computer and use it in GitHub Desktop.
trying to get perf-basic-prof working with electron

problems

  • I can't get the CSV to load on thlorenz' page (see attached)
  • I also don't get a mapfile in my tmpdir so maybe i'm doing something wrong?

i'm trying to debug why a electron process running on linux headlessly inside xvfb-run (this app) eventually takes up 100% CPU after a few hours

// run for 20 seconds and exit cleanly
var v8 = require('v8')
v8.setFlagsFromString('--perf_basic_prof') // https://github.com/atom/electron/issues/1328
var app = require('app')
console.log(process.pid)
console.log(require('os').tmpdir())
app.on('ready', function () {
setInterval(function () {
console.log('hi')
}, 1000)
setTimeout(function () {
process.exit(0)
}, 20000)
})
We can make this file beautiful and searchable if this error is corrected: It looks like row 22 should actually have 4 columns, instead of 6. in line 21.
Running Time,Self (ms),,Symbol Name
58.0ms 71.6%,0, ,Main Thread 0x33fbc1
58.0ms 71.6%,0, , start
58.0ms 71.6%,0, , main
58.0ms 71.6%,0, , AtomMain
58.0ms 71.6%,0, , 0x10c10cd80
58.0ms 71.6%,0, , 0x10c10d6c0
58.0ms 71.6%,0, , 0x10c16f1e0
58.0ms 71.6%,0, , 0x10c175090
58.0ms 71.6%,0, , 0x10c172ac0
58.0ms 71.6%,0, , 0x10c172b30
58.0ms 71.6%,0, , 0x10bcff980
58.0ms 71.6%,0, , 0x10bcc9200
58.0ms 71.6%,0, , 0x10bcc9940
58.0ms 71.6%,0, , -[NSApplication run]
55.0ms 67.9%,0, , -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
55.0ms 67.9%,0, , _DPSNextEvent
52.0ms 64.1%,0, , _BlockUntilNextEventMatchingListInModeWithFilter
52.0ms 64.1%,0, , ReceiveNextEventCommon
38.0ms 46.9%,0, , AcquireEventFromQueue
38.0ms 46.9%,0, , _NotifyEventLoopObservers
38.0ms 46.9%,0, , HIApplication::EventObserver(unsigned int, OpaqueEventRef*, void*)
38.0ms 46.9%,0, , HIApplication::HandleActivated(OpaqueEventRef*, unsigned char, OpaqueWindowPtr*)
38.0ms 46.9%,0, , SetMenuBarObscured
38.0ms 46.9%,0, , MenuBarInstance::Show(MenuBarAnimationStyle, unsigned char, unsigned char, unsigned char)
34.0ms 41.9%,0, , MenuBarInstance::UpdateWindowBoundsAndResolution()
34.0ms 41.9%,0, , MenuBarInstance::ForEachWindowDo(void (unsigned int, unsigned int) block_pointer)
33.0ms 40.7%,0, , MBWindows::GetWindowIDOnDisplay(unsigned int, unsigned char)
33.0ms 40.7%,0, , MBWindows::CreateWindow(CGRect, unsigned int)
29.0ms 35.8%,0, , ShowHide
29.0ms 35.8%,0, , _ShowHideWindows
29.0ms 35.8%,0, , WindowData::PrepareForVisibility()
29.0ms 35.8%,0, , HIView::Render(unsigned int, CGContext*)
29.0ms 35.8%,0, , HIView::DrawComposited(short, OpaqueGrafPtr*, __HIShape const*, unsigned int, HIView*, CGContext*)
29.0ms 35.8%,0, , HIView::RecursiveDrawComposited(__HIShape const*, __HIShape const*, unsigned int, HIView*, CGContext*, unsigned char, double)
29.0ms 35.8%,0, , HIView::RecursiveDrawComposited(__HIShape const*, __HIShape const*, unsigned int, HIView*, CGContext*, unsigned char, double)
29.0ms 35.8%,0, , HIView::SendDraw(short, OpaqueGrafPtr*, __HIShape const*, CGContext*)
29.0ms 35.8%,0, , SendEventToEventTargetWithOptions
29.0ms 35.8%,0, , SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*, HandlerCallRec*)
29.0ms 35.8%,0, , DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*, HandlerCallRec*)
29.0ms 35.8%,0, , HIView::EventHandler(OpaqueEventHandlerCallRef*, OpaqueEventRef*, void*)
29.0ms 35.8%,0, , HIView::DrawCacheOrSelf(short, __HIShape const*, CGContext*)
29.0ms 35.8%,0, , HIMenuBarView::DrawSelf(short, __HIShape const*, CGContext*)
28.0ms 34.5%,0, , HIMenuBarView::DrawOnce(CGRect, CGRect, bool, bool, CGContext*)
14.0ms 17.2%,0, , _HIThemeDrawAppleMenuTitle
13.0ms 16.0%,0, , _HIThemeCUIDrawWithRenderer
13.0ms 16.0%,0, , _HIThemeCUIDrawWithOptions
13.0ms 16.0%,0, , CUIDraw
13.0ms 16.0%,0, , CUIRenderer::Draw(CGRect, CGContext*, __CFDictionary const*, __CFDictionary const**)
13.0ms 16.0%,0, , CUICoreThemeRenderer::Draw(CUIDescriptor const*, CGAffineTransform, CUIReturnInfo&)
13.0ms 16.0%,0, , CUICoreThemeRenderer::DrawMenuTitle(CUIDescriptor const*, CUIReturnInfo&)
13.0ms 16.0%,0, , CUIRenderer::Draw(CGRect, CGContext*, __CFDictionary const*, __CFDictionary const**)
13.0ms 16.0%,0, , CUICoreThemeRenderer::Draw(CUIDescriptor const*, CGAffineTransform, CUIReturnInfo&)
13.0ms 16.0%,0, , CUIRenderer::DrawImage(CGRect, long, CUIDescriptor const*) const
11.0ms 13.5%,0, , CUIRenderer::CreateImageByApplyingEffectsToImage(CUIDescriptor const*, long, __CFArray const*, CGImage*, double, unsigned char, CGBlendMode&) const
9.0ms 11.1%,0, , -[CIContext render:toBitmap:rowBytes:bounds:format:colorSpace:]
9.0ms 11.1%,0, , -[CIContextImpl render:toBitmap:rowBytes:bounds:format:colorSpace:]
7.0ms 8.6%,0, , -[FEImage getBitmap:withContext:origin:transform:colorSpace:alreadyClampedToAlpha:]
7.0ms 8.6%,0, , -[FEImage(Internal) _renderWithContext:bounds:transform:colorSpace:format:premultiplied:setupCallback:finishCallback:callbackData:alreadyClampedToAlpha:]
7.0ms 8.6%,0, , FETreeContext::renderImage(FEImage*, CGRect, FEShape const*, CGAffineTransform, CGColorSpace*, FEFormat, bool, void (*)(FEContext*, void*, FEFormat), void (*)(FEContext*, void*), void*, signed char)
7.0ms 8.6%,0, , FETreeContext::renderImage_(FEImage*, CGRect, FEShape const*, CGAffineTransform, CGColorSpace*, FEFormat, bool, void (*)(FEContext*, void*, FEFormat), void (*)(FEContext*, void*), void*, bool)
6.0ms 7.4%,0, , FETreeContext::renderTree(FETreeNode*, FEShape const&, void (*)(FEContext*, void*, FEFormat), void (*)(FEContext*, void*), void*)
6.0ms 7.4%,0, , FETreeNode::render(FETreeContext*, FEShape const&, void (*)(FEContext*, void*, FEFormat), void (*)(FEContext*, void*), void*)
6.0ms 7.4%,0, , FETreeNode::render_(FETreeContext*, FEShape const*, void (*)(FEContext*, void*, FEFormat), void (*)(FEContext*, void*), void*)
6.0ms 7.4%,0, , FEApplyTreeNode::render2(FETreeContext*, FEShape const*, void (*)(FEContext*, void*, FEFormat), void (*)(FEContext*, void*), void*)
4.0ms 4.9%,0, , FEApplyTreeNode::render1(FETreeContext*, FEShape const&, fe_kernel_target_struct*, int, float*, FETreeTexture*)
2.0ms 2.4%,0, , -[FEOpenCLContext _loadKernel:target:testOnly:]
1.0ms 1.2%,0, , fe_kernel_get_program_string(fe_kernel_struct*, fe_kernel_target_struct const*, unsigned int, char const**, unsigned long*, char*)
1.0ms 1.2%,0, , sl_program_assemble_cl
1.0ms 1.2%,0, , sl_program_assemble_cl_1
1.0ms 1.2%,0, , sl_emit_instructions(x_stream_struct*, sl_program_struct*, sl_cl_assembler_values_t*, char const*, bool, int)
1.0ms 1.2%,0, , sl_stream_print_cl_value
1.0ms 1.2%,0, , x_stream_printf
1.0ms 1.2%,0, , __snprintf_chk
1.0ms 1.2%,0, , vsnprintf
1.0ms 1.2%,1, , _vsnprintf
1.0ms 1.2%,0, , clBuildProgram
1.0ms 1.2%,0, , 0x7fff82d61e90
1.0ms 1.2%,0, , glrCompBuildProgram
1.0ms 1.2%,0, , 0x7fff8adfb324
1.0ms 1.2%,0, , 0x7fff8adfb92e
1.0ms 1.2%,0, , NSCreateObjectFileImageFromMemory
1.0ms 1.2%,0, , NSCreateObjectFileImageFromMemory
1.0ms 1.2%,0, , dyld::loadFromMemory(unsigned char const*, unsigned long long, char const*)
1.0ms 1.2%,0, , ImageLoaderMachO::instantiateFromMemory(char const*, macho_header const*, unsigned long long, ImageLoader::LinkContext const&)
1.0ms 1.2%,0, , ImageLoaderMachOCompressed::instantiateFromMemory(char const*, macho_header const*, unsigned long long, unsigned int, unsigned int, ImageLoader::LinkContext const&)
1.0ms 1.2%,0, , ImageLoaderMachO::mapSegments(void const*, unsigned long long, ImageLoader::LinkContext const&)
1.0ms 1.2%,0, , vm_copy
1.0ms 1.2%,0, , mach_msg
1.0ms 1.2%,1, , mach_msg_trap
2.0ms 2.4%,0, , -[FEContext(Drawing) quad:kernel:callbackObject:]
2.0ms 2.4%,0, , -[FEOpenCLContext _quad:]
2.0ms 2.4%,0, , clEnqueueNDRangeKernel
1.0ms 1.2%,0, , 0x7fff82d52228
1.0ms 1.2%,0, , __dynamic_cast
1.0ms 1.2%,1, , __cxxabiv1::__vmi_class_type_info::search_below_dst(__cxxabiv1::__dynamic_cast_info*, void const*, int, bool) const
1.0ms 1.2%,0, , 0x7fff82d54cc9
1.0ms 1.2%,0, , 0x7fff82d5498c
1.0ms 1.2%,1, , 0x7fff82d60c5c
2.0ms 2.4%,0, , FETreeNode::createTexture(FETreeContext*, unsigned int, unsigned int, bool, bool, FETreeTexture*, unsigned int)
2.0ms 2.4%,0, , FETexture::newTexture(FEContext*, fe_texture_params_struct const*, void*, void (*)(void*, CGRect, FEFormat, void (*)(FEContext*, void*, FEFormat), void (*)(FEContext*, void*), void*), fe_texture_object_struct**)
2.0ms 2.4%,0, , FETexture::retainTextureObject(FETextureCache*, FEContext*, unsigned int, void*, void (*)(void*, CGRect, FEFormat, void (*)(FEContext*, void*, FEFormat), void (*)(FEContext*, void*), void*), CGRect const*, bool, fe_texture_object_struct**)
2.0ms 2.4%,0, , FETreeNode::renderTexture(void*, CGRect, FEFormat, void (*)(FEContext*, void*, FEFormat), void (*)(FEContext*, void*), void*)
2.0ms 2.4%,0, , FETreeNode::render_(FETreeContext*, FEShape const*, void (*)(FEContext*, void*, FEFormat), void (*)(FEContext*, void*), void*)
2.0ms 2.4%,0, , FECropTreeNode::render2(FETreeContext*, FEShape const*, void (*)(FEContext*, void*, FEFormat), void (*)(FEContext*, void*), void*)
2.0ms 2.4%,0, , FETreeNode::render_(FETreeContext*, FEShape const*, void (*)(FEContext*, void*, FEFormat), void (*)(FEContext*, void*), void*)
2.0ms 2.4%,0, , FEApplyTreeNode::render2(FETreeContext*, FEShape const*, void (*)(FEContext*, void*, FEFormat), void (*)(FEContext*, void*), void*)
2.0ms 2.4%,0, , FEApplyTreeNode::render1(FETreeContext*, FEShape const&, fe_kernel_target_struct*, int, float*, FETreeTexture*)
2.0ms 2.4%,0, , -[FEOpenCLContext _loadKernel:target:testOnly:]
1.0ms 1.2%,0, , FEOpenCLProgram::updateKernelArgCount()
1.0ms 1.2%,0, , clGetKernelInfo
1.0ms 1.2%,1, , 0x7fff82d41c15
1.0ms 1.2%,0, , clBuildProgram
1.0ms 1.2%,0, , 0x7fff82d61e90
1.0ms 1.2%,0, , glrCompBuildProgram
1.0ms 1.2%,0, , 0x7fff8adfb324
1.0ms 1.2%,0, , pthread_once
1.0ms 1.2%,0, , _os_once
1.0ms 1.2%,0, , __pthread_once_handler
1.0ms 1.2%,0, , 0x7fff8adfc4e8
1.0ms 1.2%,0, , cvms_service_attach
1.0ms 1.2%,0, , xpc_connection_send_message_with_reply_sync
1.0ms 1.2%,0, , _xpc_connection_send_message_with_reply_f
1.0ms 1.2%,0, , dispatch_mach_send
1.0ms 1.2%,0, , _dispatch_mach_msg_send
1.0ms 1.2%,0, , _voucher_create_mach_voucher_with_priority
1.0ms 1.2%,1, , host_create_mach_voucher
1.0ms 1.2%,0, , FETreeContext::prepareTree_(FETreeNode*, CGRect, CGColorSpace*, FEFormat, bool, bool)
1.0ms 1.2%,0, , FETreeNode::mergeKernels(FETreeContext*)
1.0ms 1.2%,0, , FETreeNode::mergeKernels1(FETreeContext*, unsigned int)
1.0ms 1.2%,0, , FEApplyTreeNode::merge1(FETreeContext*)
1.0ms 1.2%,0, , FEApplyTreeNode::mergeChild(FETreeContext*, FEApplyTreeNode*, int, int)
1.0ms 1.2%,0, , -[FEOpenCLContext _loadKernel:target:testOnly:]
1.0ms 1.2%,0, , fe_kernel_get_n_locals(fe_kernel_struct*, fe_kernel_target_struct const*)
1.0ms 1.2%,0, , fe_kernel_compile(fe_kernel_struct*, fe_kernel_target_struct const*)
1.0ms 1.2%,0, , _dispatch_barrier_sync_f_invoke
1.0ms 1.2%,0, , _dispatch_client_callout
1.0ms 1.2%,0, , ___ZL17fe_kernel_compileP16fe_kernel_structPK23fe_kernel_target_struct_block_invoke
1.0ms 1.2%,0, , sl_program_optimize
1.0ms 1.2%,0, , _sl_cse_optimize(sl_program_struct*, bool)
1.0ms 1.2%,0, , x_hash_table_new_
1.0ms 1.2%,0, , x_heap_calloc
1.0ms 1.2%,1, , x_heap_malloc_small_
2.0ms 2.4%,0, , -[CICGContextImpl _feContext]
2.0ms 2.4%,0, , +[FEContext createCPUContextWithOptions:]
2.0ms 2.4%,0, , -[FEOpenCLContext initWithOptions:]
2.0ms 2.4%,0, , dispatch_once_f
2.0ms 2.4%,0, , _dispatch_client_callout
2.0ms 2.4%,0, , ___ZL19_createCPUclContextPi_block_invoke
2.0ms 2.4%,0, , clCreateContextFromType
2.0ms 2.4%,0, , clGetDeviceIDs
2.0ms 2.4%,0, , 0x7fff82d56794
2.0ms 2.4%,0, , pthread_once
2.0ms 2.4%,0, , _os_once
2.0ms 2.4%,0, , __pthread_once_handler
2.0ms 2.4%,0, , 0x7fff82d56835
2.0ms 2.4%,0, , dlopen
2.0ms 2.4%,0, , dlopen
1.0ms 1.2%,0, , dyld::runInitializers(ImageLoader*)
1.0ms 1.2%,0, , ImageLoader::runInitializers(ImageLoader::LinkContext const&, ImageLoader::InitializerTimingList&)
1.0ms 1.2%,0, , dyld::notifyBatchPartial(dyld_image_states, bool, char const* (*)(dyld_image_states, unsigned int, dyld_image_info const*))
1.0ms 1.2%,0, , _qsort
1.0ms 1.2%,0, , _qsort
1.0ms 1.2%,0, , _qsort
1.0ms 1.2%,1, , ImageLoader::compare(ImageLoader const*) const
1.0ms 1.2%,0, , dyld::link(ImageLoader*, bool, bool, ImageLoader::RPathChain const&)
1.0ms 1.2%,0, , ImageLoader::link(ImageLoader::LinkContext const&, bool, bool, bool, ImageLoader::RPathChain const&)
1.0ms 1.2%,0, , ImageLoader::weakBind(ImageLoader::LinkContext const&)
1.0ms 1.2%,1, , ImageLoaderMachOCompressed::incrementCoalIterator(ImageLoader::CoalIterator&)
2.0ms 2.4%,0, , -[CUIShapeEffectStack standardEffectCompositeWithShapeImage:]
1.0ms 1.2%,0, , -[NSObject(NSKeyValueCoding) valueForKey:]
1.0ms 1.2%,0, , -[CIPlusDarkerCompositing outputImage]
1.0ms 1.2%,0, , -[CIPlusDarkerCompositing _kernel]
1.0ms 1.2%,0, , dispatch_once_f
1.0ms 1.2%,0, , _dispatch_client_callout
1.0ms 1.2%,0, , __34-[CIPlusDarkerCompositing _kernel]_block_invoke
1.0ms 1.2%,0, , +[CIKernel kernelsWithString:messageLog:]
1.0ms 1.2%,0, , gsl_parser_read_buffer
1.0ms 1.2%,0, , gsl_yy_scan_bytes
1.0ms 1.2%,0, , gsl_yy_scan_buffer
1.0ms 1.2%,1, , gsl_yy_switch_to_buffer
1.0ms 1.2%,0, , +[CUIShapeEffectStack imageFromBlendWithMask:foreground:background:]
1.0ms 1.2%,1, , objc_msgSend
1.0ms 1.2%,0, , CUICoreThemeRenderer::CanProvideThemeDataForEffectDescription(CUIDescriptor const*, __CFDictionary const*, unsigned char) const
1.0ms 1.2%,0, , -[CUIStructuredThemeStore _canGetRenditionWithKey:isFPO:lookForSubstitutions:]
1.0ms 1.2%,0, , -[NSCache setObject:forKey:cost:]
1.0ms 1.2%,0, , cache_set_and_retain
1.0ms 1.2%,0, , _entry_table_resize
1.0ms 1.2%,0, , szone_free_definite_size
1.0ms 1.2%,1, , get_tiny_previous_free_msize
1.0ms 1.2%,0, , CGContextDrawImage
1.0ms 1.2%,0, , ripc_DrawImage
1.0ms 1.2%,0, , ripc_AcquireImage
1.0ms 1.2%,0, , CGSImageDataLock
1.0ms 1.2%,0, , img_data_lock
1.0ms 1.2%,0, , CGColorTransformConvertNeedsCMS
1.0ms 1.2%,0, , CGColorTransformCacheGetConversionType
1.0ms 1.2%,0, , CMSTransformCreateConverter
1.0ms 1.2%,0, , get_color_world_for_space
1.0ms 1.2%,0, , create
1.0ms 1.2%,0, , ColorSyncTransformCreate
1.0ms 1.2%,0, , ColorSyncCMMInitializeTransform
1.0ms 1.2%,0, , AppleCMMInitializeTransform
1.0ms 1.2%,0, , DoInitializeTransform
1.0ms 1.2%,0, , ConversionManager::MakeConversionSequence(CMMProfileInfoContainer*, CMMColorConversionInfo*)
1.0ms 1.2%,0, , ConversionManager::AddMatrixConv(CMMXYZTag* (&) [3], CMMRGBCurves&)
1.0ms 1.2%,0, , CMMBase::NewInternal(unsigned long, CMMMemMgr&, char const*)
1.0ms 1.2%,1, , CMMMemMgr::New(unsigned long)
1.0ms 1.2%,0, , _HIThemeGetVibrantRenderer
1.0ms 1.2%,0, , _HIThemeGetRendererWithNameFromSystemAppearanceBundle(__CFString const*)
1.0ms 1.2%,0, , CUIRenderer::Create(__CFDictionary const*)
1.0ms 1.2%,0, , CUICoreThemeRenderer::CUICoreThemeRenderer(__CFDictionary const*)
1.0ms 1.2%,0, , +[CUIThemeFacet themeNamed:forBundleIdentifier:error:]
1.0ms 1.2%,0, , RunTimeThemeRefForBundleIdentifierAndName
1.0ms 1.2%,0, , -[NSString stringByAppendingFormat:]
1.0ms 1.2%,0, , -[NSPlaceholderString initWithFormat:locale:arguments:]
1.0ms 1.2%,0, , _CFStringCreateWithFormatAndArgumentsAux2
1.0ms 1.2%,0, , __CFStringAppendFormatCore
1.0ms 1.2%,0, , _NSDescriptionWithStringProxyFunc
1.0ms 1.2%,0, , -[NSObject respondsToSelector:]
1.0ms 1.2%,0, , class_respondsToSelector_inst
1.0ms 1.2%,0, , lookUpImpOrNil
1.0ms 1.2%,0, , lookUpImpOrForward
1.0ms 1.2%,0, , getMethodNoSuper_nolock(objc_class*, objc_selector*)
1.0ms 1.2%,1, , search_method_list(method_list_t const*, objc_selector*)
7.0ms 8.6%,0, , HIMenuBarView::DrawTextTitle(MenuData*, CGRect const*, __CFString const*, unsigned short, CGContext*, bool, bool)
7.0ms 8.6%,0, , HIThemeDrawTextBox
7.0ms 8.6%,0, , DataEngine::DrawTextBox(void const*, CGRect const*, HIThemeTextInfo*, CGContext*)
6.0ms 7.4%,0, , ___ZN10DataEngine11DrawTextBoxEPKvPK6CGRectP15HIThemeTextInfoP9CGContext_block_invoke
6.0ms 7.4%,0, , TCoreTextEngine::DrawThemeTextBox(THIThemeTextInfo*, CGRect const&, unsigned int, CGContext*)
5.0ms 6.1%,0, , _HIThemeCUIDrawStyledGlyphsAtPositions
5.0ms 6.1%,0, , CUIRenderer::DrawStyledGlyphsAtPositions(CGContext*, __CFDictionary const*, __CTFont const*, unsigned short const*, CGPoint const*, unsigned long, double)
4.0ms 4.9%,0, , -[CUITextEffectStack drawGlyphs:inContext:usingFont:atPositions:count:lineHeight:inBounds:atScale:]
2.0ms 2.4%,0, , CTFontDrawGlyphsAtPositions
2.0ms 2.4%,0, , DrawSbixGlyphsAtPositions(TFont const*, CGFont*, TCFRef<__CFData const*> const&, unsigned short const*, CGPoint const*, unsigned long, CGContext*, CGAffineTransform, CGAffineTransform)
2.0ms 2.4%,0, , draw_glyphs
2.0ms 2.4%,0, , ripc_DrawGlyphs
2.0ms 2.4%,0, , draw_glyph_bitmaps
2.0ms 2.4%,0, , render_glyphs
2.0ms 2.4%,0, , CGGlyphBuilder::create_missing_bitmaps(CGGlyphIdentifier const*, unsigned long, CGGlyphBitmap const**)
2.0ms 2.4%,0, , CGFontCreateGlyphBitmap
2.0ms 2.4%,0, , CGFontCreateGlyphPath
2.0ms 2.4%,0, , FPFontCopyGlyphPath
1.0ms 1.2%,0, , CGPathCreateByNormalizingGlyphPath
1.0ms 1.2%,0, , path_create_path
1.0ms 1.2%,0, , CGPathAddQuadCurveToPoint
1.0ms 1.2%,1, , CG::Path::Subpath::add_quad_curve_to_point(CGPoint const&, CGPoint const&, CGAffineTransform const*)
1.0ms 1.2%,0, , TGlyphOutlineContext::TGlyphOutlineContext(CGAffineTransform const*)
1.0ms 1.2%,0, , TCGAccess::CGPathCreateMutable()
1.0ms 1.2%,0, , dispatch_once_f
1.0ms 1.2%,0, , _dispatch_client_callout
1.0ms 1.2%,0, , ___ZN9TCGAccess4InitEv_block_invoke
1.0ms 1.2%,0, , dlopen
1.0ms 1.2%,0, , dlopen
1.0ms 1.2%,0, , dyld::link(ImageLoader*, bool, bool, ImageLoader::RPathChain const&)
1.0ms 1.2%,0, , ImageLoader::link(ImageLoader::LinkContext const&, bool, bool, bool, ImageLoader::RPathChain const&)
1.0ms 1.2%,1, , dyld::clearAllDepths()
1.0ms 1.2%,1, , CGContextBeginTransparencyLayer
1.0ms 1.2%,0, , CGGStateSetPatternPhase
1.0ms 1.2%,0, , maybeCopyRenderingState
1.0ms 1.2%,1, , CGStyleRetain
1.0ms 1.2%,0, , CUICoreThemeRenderer::CreateEffectPresetFromDescription(CUIDescriptor const*, __CFDictionary const*, unsigned char) const
1.0ms 1.2%,0, , -[CUIStructuredThemeStore renditionWithKey:]
1.0ms 1.2%,0, , -[NSPlaceholderString initWithBytesNoCopy:length:encoding:freeWhenDone:]
1.0ms 1.2%,0, , _CFStringCreateWithBytesNoCopy
1.0ms 1.2%,0, , __CFStringCreateImmutableFunnel3
1.0ms 1.2%,0, , _CFRuntimeCreateInstance
1.0ms 1.2%,0, , malloc_zone_malloc
1.0ms 1.2%,0, , <Unknown Address>
1.0ms 1.2%,1, , szone_malloc_should_clear
1.0ms 1.2%,0, , CGContextRestoreGState
1.0ms 1.2%,0, , CGGStackRestore
1.0ms 1.2%,0, , CGGStateRelease
1.0ms 1.2%,1, , CGGStateClipRelease
1.0ms 1.2%,0, , TThemeTextCache::Release(TThemeText*)
1.0ms 1.2%,0, , TCoreTextEngine::~TCoreTextEngine()
1.0ms 1.2%,0, , TCoreTextEngine::~TCoreTextEngine()
1.0ms 1.2%,0, , TCoreTextEngine::Invalidate()
1.0ms 1.2%,0, , CFRelease
1.0ms 1.2%,0, , __CFAttributedStringDeallocate
1.0ms 1.2%,0, , CFRelease
1.0ms 1.2%,1, , __CFStringDeallocate
6.0ms 7.4%,0, , HIMenuBarView::EnsureBarLayout()
6.0ms 7.4%,0, , HIMenuBarView::MeasureAppMenus()
6.0ms 7.4%,0, , HIMenuBarView::MeasureMenuTitle(MenuData*, unsigned char, float*, int)
6.0ms 7.4%,0, , HIThemeGetTextDimensions
6.0ms 7.4%,0, , DataEngine::GetTextDimensions(void const*, double, HIThemeTextInfo*, double*, double*, double*)
4.0ms 4.9%,0, , TCoreTextEngine::GetThemeTextDimensions(double, THIThemeTextInfo*, double*, double*, double*)
4.0ms 4.9%,0, , TCoreTextEngine::Layout(THIThemeTextInfo*, float, float, TextLayoutType)
4.0ms 4.9%,0, , TCoreTextEngine::LayoutSingleLine(THIThemeTextInfo*, float)
4.0ms 4.9%,0, , CTLineCreateWithAttributedString
4.0ms 4.9%,0, , TTypesetterAttrString::Initialize(__CFAttributedString const*)
4.0ms 4.9%,0, , TGlyphEncoder::EncodeChars(CFRange, TAttributes const&, TGlyphList<TDeletedGlyphIndex>&, TGlyphEncoder::Fallbacks)
4.0ms 4.9%,0, , TASCIIEncoder::Encode()
4.0ms 4.9%,0, , TBaseFont::GetCommonTable(unsigned int) const
3.0ms 3.7%,0, , TBaseFont::GetCommonTable(unsigned int) const
3.0ms 3.7%,0, , TBaseFont::CopyGraphicsFont() const
2.0ms 2.4%,0, , TBaseFont::CopyNativeFont() const
2.0ms 2.4%,0, , TCGFontCache::CopyFont(__CFURL const*, bool) const
2.0ms 2.4%,0, , CreateFontWithFontURL(__CFURL const*, bool)
2.0ms 2.4%,0, , CGFontCreateFontsWithURL
2.0ms 2.4%,0, , CGFontCreateFontsWithPath
1.0ms 1.2%,0, , create_private_data_with_path
1.0ms 1.2%,0, , CFArrayAppendValue
1.0ms 1.2%,0, , _CFArrayReplaceValues
1.0ms 1.2%,0, , objc_memmove_collectable
1.0ms 1.2%,1, , _platform_memmove$VARIANT$Unknown
1.0ms 1.2%,0, , CGFontGetVTable
1.0ms 1.2%,0, , dispatch_once_f
1.0ms 1.2%,0, , _dispatch_client_callout
1.0ms 1.2%,0, , load_vtable
1.0ms 1.2%,0, , load_library
1.0ms 1.2%,0, , CGLibraryLoadFunction
1.0ms 1.2%,0, , dlopen
1.0ms 1.2%,0, , dlopen
1.0ms 1.2%,0, , dyld::load(char const*, dyld::LoadContext const&)
1.0ms 1.2%,0, , dyld::loadPhase0(char const*, char const*, dyld::LoadContext const&, std::__1::vector<char const*, std::__1::allocator<char const*> >*)
1.0ms 1.2%,0, , dyld::loadPhase1(char const*, char const*, dyld::LoadContext const&, std::__1::vector<char const*, std::__1::allocator<char const*> >*)
1.0ms 1.2%,1, , dyld::loadPhase3(char const*, char const*, dyld::LoadContext const&, std::__1::vector<char const*, std::__1::allocator<char const*> >*)
1.0ms 1.2%,0, , CGFontGetNumberOfGlyphs
1.0ms 1.2%,0, , get_font_info
1.0ms 1.2%,0, , get_font_info
1.0ms 1.2%,0, , FPFontIsMonospaced
1.0ms 1.2%,0, , TFPFont::GetFontInfo() const
1.0ms 1.2%,0, , TFPFont::FillFontInfo(TFPFontInfo&) const
1.0ms 1.2%,0, , TFPFont::FindFontStemsPerMetaData(double&, double&) const
1.0ms 1.2%,0, , TFont::FindFontMetaData(char&) const
1.0ms 1.2%,0, , TSFNTFont::GetPostscriptName() const
1.0ms 1.2%,0, , <Unknown Address>
1.0ms 1.2%,1, , TStringRef::TStringRef(TStringRef const&)
1.0ms 1.2%,0, , TBaseFont::InitAnnexTables() const
1.0ms 1.2%,0, , CTCreateDictionaryFromBundleFontResource(__CFString const*)
1.0ms 1.2%,0, , CTCreateDictionaryFromBundleResource(__CFString const*)
1.0ms 1.2%,0, , CTCreateBundleResourceURL(__CFString const*)
1.0ms 1.2%,0, , CFBundleGetBundleWithIdentifier
1.0ms 1.2%,0, , _CFBundleEnsureBundleExistsForImagePath
1.0ms 1.2%,0, , _CFBundleDlfcnCheckLoaded
1.0ms 1.2%,0, , dlopen
1.0ms 1.2%,0, , dlopen
1.0ms 1.2%,0, , dyld::load(char const*, dyld::LoadContext const&)
1.0ms 1.2%,0, , dyld::loadPhase0(char const*, char const*, dyld::LoadContext const&, std::__1::vector<char const*, std::__1::allocator<char const*> >*)
1.0ms 1.2%,0, , dyld::loadPhase1(char const*, char const*, dyld::LoadContext const&, std::__1::vector<char const*, std::__1::allocator<char const*> >*)
1.0ms 1.2%,0, , dyld::loadPhase3(char const*, char const*, dyld::LoadContext const&, std::__1::vector<char const*, std::__1::allocator<char const*> >*)
1.0ms 1.2%,0, , dyld::loadPhase4(char const*, char const*, dyld::LoadContext const&, std::__1::vector<char const*, std::__1::allocator<char const*> >*)
1.0ms 1.2%,0, , dyld::loadPhase5(char const*, char const*, dyld::LoadContext const&, std::__1::vector<char const*, std::__1::allocator<char const*> >*)
1.0ms 1.2%,1, , ImageLoaderMachO::getInstallPath() const
2.0ms 2.4%,0, , TThemeTextCache::Create(void const*, THIThemeTextInfo const*)
2.0ms 2.4%,0, , TCoreTextEngine::Init(void const*, THIThemeTextInfo const*)
2.0ms 2.4%,0, , TCoreTextEngine::CreateThemeTextAttributedString(__CFAttributedString const*, __CFString const*)
2.0ms 2.4%,0, , TThemeFont::CreateAttributeDictionary()
2.0ms 2.4%,0, , CTFontCreateUIFontForLanguage
2.0ms 2.4%,0, , CTFontCreateWithFontDescriptor
2.0ms 2.4%,0, , TDescriptor::CreateMatchingDescriptor(__CFSet const*, double, unsigned long) const
2.0ms 2.4%,0, , TDescriptor::InitBaseFont(bool)
2.0ms 2.4%,0, , TDescriptor::CreateMatchingDescriptorInternal(__CFSet const*, bool) const
2.0ms 2.4%,0, , TDescriptorSource::CopyDescriptorForRequest(__CFDictionary const*, __CFSet const*, CFComparisonResult (*)(void const*, void const*, void*), void*, unsigned long) const
2.0ms 2.4%,0, , TDescriptorSource::CopyDescriptorsForRequest(__CFDictionary const*, __CFSet const*, CFComparisonResult (*)(void const*, void const*, void*), void*, unsigned long, TCFRef<__CFArray const*>*) const
2.0ms 2.4%,0, , TSplicedFontStash::TSplicedFontStash()
2.0ms 2.4%,0, , TSplicedFontStashImp::CreateSplicedFonts()
2.0ms 2.4%,0, , XTCopyFontsWithProperties
2.0ms 2.4%,0, , TGlobalFontRegistry::TGlobalFontRegistry()
2.0ms 2.4%,0, , pthread_once
2.0ms 2.4%,0, , _os_once
2.0ms 2.4%,0, , __pthread_once_handler
2.0ms 2.4%,0, , TGlobalFontRegistry::CreateRegistry()
2.0ms 2.4%,0, , TGlobalFontRegistryImp::RendezvousWithServer() const
1.0ms 1.2%,0, , TGlobalFontRegistryImp::GetServerPort() const
1.0ms 1.2%,0, , TSessionManager::TSessionManager()
1.0ms 1.2%,0, , pthread_once
1.0ms 1.2%,0, , _os_once
1.0ms 1.2%,0, , __pthread_once_handler
1.0ms 1.2%,0, , TSessionManager::CreateSessionManager()
1.0ms 1.2%,0, , TSessionManagerImp::SetFrameworkDirPaths()
1.0ms 1.2%,0, , _CFBundleCreate
1.0ms 1.2%,0, , CFBundleGetInfoDictionary
1.0ms 1.2%,0, , _CFBundleCopyInfoDictionaryInDirectoryWithVersion
1.0ms 1.2%,0, , _CFIterateDirectory
1.0ms 1.2%,0, , CFStringCreateWithCString
1.0ms 1.2%,0, , __CFStringCreateImmutableFunnel3
1.0ms 1.2%,0, , -[NSStringROMKeySet_MacOSX indexForCString:length:key:]
1.0ms 1.2%,1, , __CFStrHashEightBit2
1.0ms 1.2%,0, , TCFResurrectContext::Resurrect(TCFType)
1.0ms 1.2%,0, , TCFResurrectContext::ResurrectCFDictionary()
1.0ms 1.2%,0, , TCFResurrectContext::Resurrect(TCFType)
1.0ms 1.2%,0, , TCFResurrectContext::ResurrectCFURL()
1.0ms 1.2%,0, , TStackBuffer<unsigned char, 30ul>::TStackBuffer(unsigned long)
1.0ms 1.2%,0, , std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >::__append(unsigned long)
1.0ms 1.2%,0, , operator new(unsigned long)
1.0ms 1.2%,0, , malloc
1.0ms 1.2%,0, , malloc_zone_malloc
1.0ms 1.2%,0, , 0x10bcfea90
1.0ms 1.2%,1, , szone_malloc_should_clear
1.0ms 1.2%,0, , CGContextClearRect
1.0ms 1.2%,0, , CGContextFillRects
1.0ms 1.2%,0, , ripc_DrawRects
1.0ms 1.2%,1, , ripc_Render
1.0ms 1.2%,0, , CopyWindowImageRect
1.0ms 1.2%,0, , CopyWindowImageRectToContext
1.0ms 1.2%,0, , CGContextCopyWindowContentsToRect
1.0ms 1.2%,0, , ripc_DrawWindowContents
1.0ms 1.2%,0, , CGSImageDataLockDevice
1.0ms 1.2%,0, , img_data_lock
1.0ms 1.2%,0, , img_alphamerge_read
1.0ms 1.2%,0, , img_colormatch_read
1.0ms 1.2%,0, , img_decode_read
1.0ms 1.2%,0, , decode_data
1.0ms 1.2%,1, , decode_byte_8bpc_3a
4.0ms 4.9%,0, , _HIWindowCreateWithCGWindow
4.0ms 4.9%,0, , NewWindowCommon(WindowData**, unsigned int, unsigned long long, WindowDefSpec const*, Rect const*, unsigned char const*, unsigned char, OpaqueWindowPtr*, void*, unsigned int, unsigned short*, bool)
4.0ms 4.9%,0, , HIObjectCreate
4.0ms 4.9%,0, , HIObject::Create(__CFString const*, OpaqueEventRef*, HIObject**)
4.0ms 4.9%,0, , SendEventToEventTargetWithOptions
4.0ms 4.9%,0, , SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*, HandlerCallRec*)
4.0ms 4.9%,0, , DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*, HandlerCallRec*)
4.0ms 4.9%,0, , HIObject::EventHook(OpaqueEventHandlerCallRef*, OpaqueEventRef*, void*)
4.0ms 4.9%,0, , HIObject::HandleClassHIObjectEvent(OpaqueEventHandlerCallRef*, OpaqueEventRef*, void*)
4.0ms 4.9%,0, , AppleWindowDef::Initialize(OpaqueEventRef*)
4.0ms 4.9%,0, , WindowData::Initialize(OpaqueEventRef*)
4.0ms 4.9%,0, , WindowData::FinishConstruction(unsigned int, unsigned long long, unsigned int, Rect const*, unsigned char*, unsigned int, OpaqueWindowPtr*, OpaqueControlRef*)
4.0ms 4.9%,0, , WindowData::UpdateColorSpace(unsigned char)
4.0ms 4.9%,0, , CGSSetWindowColorSpace
4.0ms 4.9%,0, , CGSWindowSetColorSpace
4.0ms 4.9%,0, , CGSColorSpaceRegistryAddColorSpace
4.0ms 4.9%,0, , CGColorSpaceCreateConversionCurve
4.0ms 4.9%,0, , create_code_fragment
4.0ms 4.9%,0, , CGColorTransformCreateParametricCodeFragment
4.0ms 4.9%,0, , CGColorTransformCacheCreateConverter
4.0ms 4.9%,0, , CMSTransformCreateConverter
4.0ms 4.9%,0, , get_color_world_for_space
3.0ms 3.7%,0, , create
2.0ms 2.4%,0, , ColorSyncTransformCreate
2.0ms 2.4%,0, , ColorSyncCMMInitializeTransform
2.0ms 2.4%,0, , AppleCMMInitializeTransform
2.0ms 2.4%,0, , DoInitializeTransform
2.0ms 2.4%,0, , ConversionManager::MakeConversionSequence(CMMProfileInfoContainer*, CMMColorConversionInfo*)
1.0ms 1.2%,0, , ConversionManager::AddMatrixConv(CMMXYZTag* (&) [3], CMMRGBCurves&)
1.0ms 1.2%,0, , CMMRGBCurves::MakeLutTable(CMMFloatLutInfo*, CMMMemMgr&, unsigned int)
1.0ms 1.2%,0, , CMMCurveTag::MakeLutTable(CMMFloatLutInfo*, CMMMemMgr&, CMMLutRangeMapping, double)
1.0ms 1.2%,1, , 0x7fff8aa23f40
1.0ms 1.2%,0, , ConversionManager::AddInvMatrixConv(CMMXYZTag* (&) [3], CMMRGBCurves&)
1.0ms 1.2%,0, , CMMRGBCurves::MakeInvLutTable(CMMFloatLutInfo*, CMMMemMgr&, unsigned int, CMMTable**)
1.0ms 1.2%,0, , CMMCurveTag::MakeInvLutTable(CMMFloatLutInfo*, CMMMemMgr&, CMMTable**)
1.0ms 1.2%,1, , InvertLUT(int*, int*)
1.0ms 1.2%,0, , CFRelease
1.0ms 1.2%,0, , objc_object::sidetable_release(bool)
1.0ms 1.2%,0, , objc::DenseMapBase<objc::DenseMap<DisguisedPtr<objc_object>, unsigned long, true, objc::DenseMapInfo<DisguisedPtr<objc_object> > >, DisguisedPtr<objc_object>, unsigned long, objc::DenseMapInfo<DisguisedPtr<objc_object> >, true>::find(DisguisedPtr<objc_object> const&)
1.0ms 1.2%,1, , bool objc::DenseMapBase<objc::DenseMap<DisguisedPtr<objc_object>, unsigned long, true, objc::DenseMapInfo<DisguisedPtr<objc_object> > >, DisguisedPtr<objc_object>, unsigned long, objc::DenseMapInfo<DisguisedPtr<objc_object> >, true>::LookupBucketFor<DisguisedPtr<objc_object> >(DisguisedPtr<objc_object> const&, std::__1::pair<DisguisedPtr<objc_object>, unsigned long> const*&) const
1.0ms 1.2%,0, , get_cms_space_for_space
1.0ms 1.2%,0, , create
1.0ms 1.2%,0, , profileRef
1.0ms 1.2%,0, , CreateProfileSet
1.0ms 1.2%,0, , CFArrayCreateMutable
1.0ms 1.2%,0, , -[__NSPlaceholderArray initWithCapacity:]
1.0ms 1.2%,0, , +[__NSArrayM __new:::::]
1.0ms 1.2%,0, , __CFAllocateObject2
1.0ms 1.2%,0, , class_createInstance
1.0ms 1.2%,0, , calloc
1.0ms 1.2%,0, , malloc_zone_calloc
1.0ms 1.2%,0, , 0x10bcfeac0
1.0ms 1.2%,0, , szone_malloc_should_clear
1.0ms 1.2%,1, , tiny_malloc_from_free_list
1.0ms 1.2%,0, , ___ZN15MenuBarInstance28SetBoundsAndUpdateResolutionEv_block_invoke
1.0ms 1.2%,0, , WindowData::SetBounds(unsigned short, unsigned int, CGRect const*)
1.0ms 1.2%,0, , WindowData::SetBounds(unsigned short, Rect const*, Rect const*, unsigned int, unsigned char*)
1.0ms 1.2%,0, , MoveResizeWindowInternal(WindowData*, int, int, int, int, unsigned char, unsigned char, unsigned char, unsigned char, Rect const*, unsigned int)
1.0ms 1.2%,0, , BeginWindowReshape(WindowData*, ReshapeWindowInfo*, unsigned char*, unsigned long long*)
1.0ms 1.2%,0, , CGSDisableUpdateToken
1.0ms 1.2%,0, , CGSConnectionGetUpdateManager
1.0ms 1.2%,0, , CGSUpdateManagerCreate
1.0ms 1.2%,0, , CGSUpdateManager::CGSUpdateManager(CGSConnection*)
1.0ms 1.2%,0, , CGSConnectionNotifier::add_callback(void (*)(unsigned int, void*, unsigned int, void*, unsigned int), unsigned int, void*)
1.0ms 1.2%,0, , CGSConnectionNotifier::notify() const
1.0ms 1.2%,0, , _CGSSetConnectionNotifyInterests
1.0ms 1.2%,0, , mach_msg
1.0ms 1.2%,1, , mach_msg_trap
4.0ms 4.9%,0, , MBarDraw(unsigned int)
4.0ms 4.9%,0, , HIWindowFlush
4.0ms 4.9%,0, , _FlushWindow
4.0ms 4.9%,0, , FlushWindowObject(WindowData*, void**, unsigned char)
3.0ms 3.7%,0, , HIView::Render(unsigned int, CGContext*)
3.0ms 3.7%,0, , HIView::DrawComposited(short, OpaqueGrafPtr*, __HIShape const*, unsigned int, HIView*, CGContext*)
3.0ms 3.7%,0, , HIView::RecursiveDrawComposited(__HIShape const*, __HIShape const*, unsigned int, HIView*, CGContext*, unsigned char, double)
3.0ms 3.7%,0, , HIView::RecursiveDrawComposited(__HIShape const*, __HIShape const*, unsigned int, HIView*, CGContext*, unsigned char, double)
3.0ms 3.7%,0, , HIView::SendDraw(short, OpaqueGrafPtr*, __HIShape const*, CGContext*)
3.0ms 3.7%,0, , SendEventToEventTargetWithOptions
3.0ms 3.7%,0, , SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*, HandlerCallRec*)
3.0ms 3.7%,0, , DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*, HandlerCallRec*)
3.0ms 3.7%,0, , HIView::EventHandler(OpaqueEventHandlerCallRef*, OpaqueEventRef*, void*)
3.0ms 3.7%,0, , HIView::DrawCacheOrSelf(short, __HIShape const*, CGContext*)
3.0ms 3.7%,0, , HIMenuBarView::DrawSelf(short, __HIShape const*, CGContext*)
3.0ms 3.7%,0, , HIMenuBarView::DrawOnce(CGRect, CGRect, bool, bool, CGContext*)
2.0ms 2.4%,0, , HIMenuBarView::DrawTextTitle(MenuData*, CGRect const*, __CFString const*, unsigned short, CGContext*, bool, bool)
1.0ms 1.2%,0, , CFAttributedStringCreate
1.0ms 1.2%,0, , CFDictionaryCreateMutableCopy
1.0ms 1.2%,0, , CFBasicHashCreateCopy
1.0ms 1.2%,1, , _CFRuntimeCreateInstance
1.0ms 1.2%,0, , HIThemeDrawTextBox
1.0ms 1.2%,0, , DataEngine::DrawTextBox(void const*, CGRect const*, HIThemeTextInfo*, CGContext*)
1.0ms 1.2%,0, , ___ZN10DataEngine11DrawTextBoxEPKvPK6CGRectP15HIThemeTextInfoP9CGContext_block_invoke
1.0ms 1.2%,0, , TCoreTextEngine::DrawThemeTextBox(THIThemeTextInfo*, CGRect const&, unsigned int, CGContext*)
1.0ms 1.2%,0, , _HIThemeCUIDrawStyledGlyphsAtPositions
1.0ms 1.2%,0, , CUIRenderer::DrawStyledGlyphsAtPositions(CGContext*, __CFDictionary const*, __CTFont const*, unsigned short const*, CGPoint const*, unsigned long, double)
1.0ms 1.2%,0, , -[CUITextEffectStack drawGlyphs:inContext:usingFont:atPositions:count:lineHeight:inBounds:atScale:]
1.0ms 1.2%,0, , CTFontDrawGlyphsAtPositions
1.0ms 1.2%,1, , DrawSbixGlyphsAtPositions(TFont const*, CGFont*, TCFRef<__CFData const*> const&, unsigned short const*, CGPoint const*, unsigned long, CGContext*, CGAffineTransform, CGAffineTransform)
1.0ms 1.2%,0, , _HIThemeDrawMenuTitleInternal(CGRect const*, CGRect const*, HIThemeMenuTitleDrawInfo const*, MenuTitleDrawingXUPP*, void*, CGContext*, unsigned int, CGRect*)
1.0ms 1.2%,0, , _HIThemeCUIDrawWithRenderer
1.0ms 1.2%,0, , _HIThemeCUIDrawWithOptions
1.0ms 1.2%,0, , CUIDraw
1.0ms 1.2%,0, , CUIRenderer::Draw(CGRect, CGContext*, __CFDictionary const*, __CFDictionary const**)
1.0ms 1.2%,0, , CUIRenderer::DecodeToCUIInfo(CGRect, CGContext*, __CFDictionary const*, CUIInfo*) const
1.0ms 1.2%,0, , CFDictionaryGetValue
1.0ms 1.2%,0, , CFBasicHashFindBucket
1.0ms 1.2%,0, , CFEqual
1.0ms 1.2%,1, , __CFStringEqual
1.0ms 1.2%,0, , CGSFlushWindowContentRegion
1.0ms 1.2%,0, , CGSWindowFlushRegion
1.0ms 1.2%,0, , _CGSFlushRegion
1.0ms 1.2%,1, , voucher_mach_msg_set
13.0ms 16.0%,0, , RunCurrentEventLoopInMode
12.0ms 14.8%,0, , CFRunLoopRunSpecific
12.0ms 14.8%,0, , __CFRunLoopRun
5.0ms 6.1%,0, , __CFRunLoopDoTimers
5.0ms 6.1%,0, , __CFRunLoopDoTimer
4.0ms 4.9%,0, , __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__
4.0ms 4.9%,0, , CallMyActivateTSMDocument
4.0ms 4.9%,0, , MyActivateTSMDocument
2.0ms 2.4%,0, , SectSelectableInputSourcesArrayFromCurrentState
2.0ms 2.4%,0, , _CreateKeyboardInputSourcesArray
2.0ms 2.4%,0, , _CreateKeyboardInputSourcesArray_Mutable
2.0ms 2.4%,0, , TSMGetInputSourceProperty
2.0ms 2.4%,0, , islGetInputSourceProperty
2.0ms 2.4%,0, , islPopulateInputSourceProperty
1.0ms 1.2%,0, , islCreateInputMethodIsSelectable_Common
1.0ms 1.2%,0, , islGetInputMethodInputSourceBundleRef
1.0ms 1.2%,0, , _CFBundleCreate
1.0ms 1.2%,0, , CFBundleGetInfoDictionary
1.0ms 1.2%,0, , _CFBundleCopyInfoDictionaryInDirectoryWithVersion
1.0ms 1.2%,0, , CFPropertyListCreateWithData
1.0ms 1.2%,0, , _CFPropertyListCreateWithData
1.0ms 1.2%,0, , _CFPropertyListCreateFromUTF8Data
1.0ms 1.2%,0, , parseXMLElement
1.0ms 1.2%,0, , getContentObject
1.0ms 1.2%,0, , parseXMLElement
1.0ms 1.2%,0, , getContentObject
1.0ms 1.2%,0, , parseXMLElement
1.0ms 1.2%,1, , parseStringTag
1.0ms 1.2%,0, , islPopulateKLPropertiesFromBundle
1.0ms 1.2%,0, , CFBundleGetValueForInfoDictionaryKey
1.0ms 1.2%,0, , CFBundleGetLocalInfoDictionary
1.0ms 1.2%,0, , CFBundleCopyResourceURL
1.0ms 1.2%,0, , _CFBundleCopyFindResources
1.0ms 1.2%,0, , _CFBundleCopyURLsOfKey
1.0ms 1.2%,0, , _CFBundleCopyQueryTable
1.0ms 1.2%,0, , _CFBundleCreateQueryTableAtPath
1.0ms 1.2%,0, , _CFBundleReadDirectory
1.0ms 1.2%,0, , _CFIterateDirectory
1.0ms 1.2%,0, , ___CFBundleReadDirectory_block_invoke
1.0ms 1.2%,1, , CFDictionarySetValue
1.0ms 1.2%,0, , _TSMSetInputSourceSelected
1.0ms 1.2%,0, , _ISAdjustPhysicalKeyboardForCurrentInputSource
1.0ms 1.2%,0, , IORegistryEntrySearchCFProperty
1.0ms 1.2%,0, , IOCFUnserializeBinary
1.0ms 1.2%,1, , malloc
1.0ms 1.2%,0, , PushPopCurrentInputSource_Internal
1.0ms 1.2%,0, , isCreateSavedCurrentInputSourceRef
1.0ms 1.2%,1, , CFPasteboardCreate
1.0ms 1.2%,0, , CFRunLoopTimerInvalidate
1.0ms 1.2%,0, , CFRunLoopRemoveTimer
1.0ms 1.2%,0, , __CFArmNextTimerInMode
1.0ms 1.2%,1, , mk_timer_arm
4.0ms 4.9%,0, , __CFRunLoopDoSources0
4.0ms 4.9%,1, , __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
3.0ms 3.7%,0, , 0x10bcc93c0
3.0ms 3.7%,0, , 0x10bcf0670
3.0ms 3.7%,0, , 0x10bcf0360
3.0ms 3.7%,0, , 0x10bcd15a0
2.0ms 2.4%,0, , base::internal::Invoker<IndexSequence<0ul>, base::internal::BindState<base::internal::RunnableAdapter<void (atom::NodeBindings::*)()>, void (atom::NodeBindings*), base::internal::TypeList<base::WeakPtr<atom::NodeBindings> > >, base::internal::TypeList<base::internal::UnwrapTraits<base::WeakPtr<atom::NodeBindings> > >, base::internal::InvokeHelper<true, void, base::internal::RunnableAdapter<void (atom::NodeBindings::*)()>, base::internal::TypeList<base::WeakPtr<atom::NodeBindings> const&> >, void ()>::Run(base::internal::BindStateBase*)
2.0ms 2.4%,0, , base::internal::InvokeHelper<true, void, base::internal::RunnableAdapter<void (atom::NodeBindings::*)()>, base::internal::TypeList<base::WeakPtr<atom::NodeBindings> const&> >::MakeItSo(base::internal::RunnableAdapter<void (atom::NodeBindings::*)()>, base::WeakPtr<atom::NodeBindings> const&)
2.0ms 2.4%,0, , base::internal::RunnableAdapter<void (atom::NodeBindings::*)()>::Run(atom::NodeBindings*)
2.0ms 2.4%,0, , atom::NodeBindings::UvRunOnce()
2.0ms 2.4%,0, , uv_run
2.0ms 2.4%,0, , uv__run_timers
2.0ms 2.4%,0, , node::TimerWrap::OnTimeout(uv_timer_s*)
2.0ms 2.4%,0, , node::AsyncWrap::MakeCallback(unsigned int, int, v8::Handle<v8::Value>*)
2.0ms 2.4%,0, , node::AsyncWrap::MakeCallback(v8::Handle<v8::Function>, int, v8::Handle<v8::Value>*)
2.0ms 2.4%,0, , v8::Function::Call(v8::Handle<v8::Value>, int, v8::Handle<v8::Value>*)
2.0ms 2.4%,0, , 0x10f85c120
2.0ms 2.4%,0, , 0x28dd82816850
2.0ms 2.4%,0, , 0x28dd8282e03f
2.0ms 2.4%,0, , 0x28dd829cdaa4
1.0ms 1.2%,0, , 0x28dd829ce199
1.0ms 1.2%,0, , 0x28dd829ce394
1.0ms 1.2%,0, , 0x28dd82806394
1.0ms 1.2%,0, , 0x28dd829b597c
1.0ms 1.2%,0, , 0x28dd82807f9a
1.0ms 1.2%,0, , v8::internal::Runtime_Apply(int, v8::internal::Object**, v8::internal::Isolate*)
1.0ms 1.2%,0, , 0x10f85c120
1.0ms 1.2%,0, , 0x28dd82816850
1.0ms 1.2%,0, , 0x28dd8282e03b
1.0ms 1.2%,0, , 0x28dd82806394
1.0ms 1.2%,0, , 0x28dd829b3a53
1.0ms 1.2%,0, , 0x28dd82806394
1.0ms 1.2%,0, , 0x28dd829b8d7e
1.0ms 1.2%,0, , 0x28dd82830f01
1.0ms 1.2%,0, , 0x28dd82806394
1.0ms 1.2%,0, , 0x28dd829b906d
1.0ms 1.2%,0, , 0x28dd829b96f0
1.0ms 1.2%,0, , 0x28dd829b9a8b
1.0ms 1.2%,0, , 0x28dd829b9bb4
1.0ms 1.2%,0, , 0x28dd829ba4ba
1.0ms 1.2%,0, , 0x28dd82806394
1.0ms 1.2%,0, , 0x28dd829bb7b8
1.0ms 1.2%,0, , 0x28dd829bb98e
1.0ms 1.2%,1, , 0x28dd82955b00
1.0ms 1.2%,0, , 0x28dd829cfeca
1.0ms 1.2%,0, , 0x28dd829d00fc
1.0ms 1.2%,0, , 0x28dd82807f9a
1.0ms 1.2%,0, , 0x10f757950
1.0ms 1.2%,0, , 0x10f7548d0
1.0ms 1.2%,0, , v8::internal::FunctionCallbackArguments::Call(void (*)(v8::FunctionCallbackInfo<v8::Value> const&))
1.0ms 1.2%,0, , node::Exit(v8::FunctionCallbackInfo<v8::Value> const&)
1.0ms 1.2%,0, , exit
1.0ms 1.2%,0, , __cxa_finalize_ranges
1.0ms 1.2%,0, , dyld::runAllStaticTerminators(void*)
1.0ms 1.2%,0, , ImageLoaderMachO::doTermination(ImageLoader::LinkContext const&)
1.0ms 1.2%,1, , 0x7fff85460eec
1.0ms 1.2%,0, , 0x10c188d70
1.0ms 1.2%,0, , CFRelease
1.0ms 1.2%,0, , __CFBasicHashDrain
1.0ms 1.2%,0, , CFRelease
1.0ms 1.2%,0, , __CFBasicHashDrain
1.0ms 1.2%,0, , CFRelease
1.0ms 1.2%,0, , objc_destructInstance
1.0ms 1.2%,1, , objc_object::sidetable_clearDeallocating()
1.0ms 1.2%,0, , __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__
1.0ms 1.2%,0, , _dispatch_main_queue_callback_4CF
1.0ms 1.2%,0, , _dispatch_queue_wakeup_with_qos_slow
1.0ms 1.2%,0, , _dispatch_dispose
1.0ms 1.2%,0, , object_dispose
1.0ms 1.2%,1, , objc_destructInstance
1.0ms 1.2%,0, , __CFRunLoopServiceMachPort
1.0ms 1.2%,0, , mach_msg
1.0ms 1.2%,1, , mach_msg_trap
1.0ms 1.2%,1, , objc_msgSend
1.0ms 1.2%,1, , CFStringCompareWithOptionsAndLocale
1.0ms 1.2%,0, , _DropPendingBoost
1.0ms 1.2%,1, , -[OS_object release]
2.0ms 2.4%,0, , SendEventToEventTarget
2.0ms 2.4%,1, , SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*, HandlerCallRec*)
1.0ms 1.2%,0, , DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*, HandlerCallRec*)
1.0ms 1.2%,0, , ToolboxEventDispatcherHandler(OpaqueEventHandlerCallRef*, OpaqueEventRef*, void*)
1.0ms 1.2%,0, , FindWindowAndPartFromMouseEvent
1.0ms 1.2%,0, , FindWindow
1.0ms 1.2%,0, , FindWindowOfClass
1.0ms 1.2%,0, , FindWindowCommon(Point, OpaqueWindowPtr**, short*)
1.0ms 1.2%,0, , FindPlatformWindow
1.0ms 1.2%,0, , CGSFindWindowAndOwner
1.0ms 1.2%,0, , _CGSFindWindow
1.0ms 1.2%,0, , mach_msg
1.0ms 1.2%,1, , mach_msg_trap
1.0ms 1.2%,0, , -[NSApplication _disableSuddenTermination]
1.0ms 1.2%,0, , _HIDisableSuddenTerminationForSendEvent
1.0ms 1.2%,0, , _CFSuddenTerminationDisable
1.0ms 1.2%,1, , xpc_transaction_begin
3.0ms 3.7%,0, , 0x10bc01360
3.0ms 3.7%,0, , -[NSApplication sendEvent:]
2.0ms 2.4%,0, , objc_msgSend
2.0ms 2.4%,0, , lookUpImpOrForward
1.0ms 1.2%,0, , realizeClass(objc_class*)
1.0ms 1.2%,1, , addSubclass(objc_class*, objc_class*)
1.0ms 1.2%,0, , pthread_mutex_unlock
1.0ms 1.2%,1, , OSAtomicCompareAndSwapPtrBarrier$VARIANT$mp
1.0ms 1.2%,0, , -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
1.0ms 1.2%,0, , _DPSNextEvent
1.0ms 1.2%,0, , dispatch_once_f
1.0ms 1.2%,0, , _dispatch_client_callout
1.0ms 1.2%,0, , __HIToolboxLibrary_block_invoke
1.0ms 1.2%,0, , dlopen
1.0ms 1.2%,0, , dlopen
1.0ms 1.2%,0, , dyld::link(ImageLoader*, bool, bool, ImageLoader::RPathChain const&)
1.0ms 1.2%,1, , ImageLoaderMachO::isBundle() const
10.0ms 12.3%,0, ,_NSEventThread 0x33fc0b
5.0ms 6.1%,0, ,start_wqthread 0x33fbc3
4.0ms 4.9%,0, ,_dispatch_worker_thread3 0x33fbc4
2.0ms 2.4%,0, ,_dispatch_mgr_thread 0x33fbc2
1.0ms 1.2%,0, ,atom::NodeBindings::EmbedThreadRunner 0x33fbf9
1.0ms 1.2%,0, ,start_wqthread 0x33fbce
@thlorenz
Copy link

Cross posting from IRC

just as a note, not all flags can be set after process started and v8::Isolate initialized, --perf-basic-prof is most likely one of them
thlorenz
confirmed: https://github.com/iojs/io.js/blob/dad73f645cde6920e79db956e7ef82ed640d7615/deps/v8/src/isolate.cc#L2122-2122 is happening during Isolate::init
thlorenz
so changing the flag afterwards won't have the desired effect

Actually here is more why the flag won't apply later logger setup only happens once, during Isolate::init

@thlorenz
Copy link

Also I'd suggest using technique explained here instead: https://github.com/thlorenz/cpuprofilify#instructions

It's easier than with Instruments (uses dtrace directly).
Also make sure that the perf file gets flushed (only a problem on OSX) add this then kill <pid> your process (Ctrl-C won't work).

Alternatively patch v8

@beaugunderson
Copy link

trying a version of electron compiled with DEFINE_BOOL(perf_basic_prof, true, in vendor/node/deps/v8/src/flag-definitions.h, will report back

@beaugunderson
Copy link

didn't seem to help, but also when i look at interactively setting a breakpoint in lldb none of the log.cc or PerfBasic* stuff is in there

@beaugunderson
Copy link

pattern this is the pattern i see repeated over and over

zoomed out

the top ::Join() thread is in vsnprintf a large percentage of the time

.zoom file here: https://dl.dropboxusercontent.com/u/19435/profile_0004.zoom, you can open/browse it with the zoom viewer on win/mac/linux

@beaugunderson
Copy link

any guidance on getting the rest of the symbols or perf jit mapping working for electron would help out here :)

@beaugunderson
Copy link

here's a trace while the app is in the 100% CPU usage state, it's different than the previous trace in that 99% of time is spent in a thread doing std::__find with a std::reverse_iterator

@beaugunderson
Copy link

finally, a clearer stack of the thread with high (70% in this run) cpu usage:

stack

@beaugunderson
Copy link

debug logging appears to be the culprit:

why

@beaugunderson
Copy link

  1. this makes me think that pings_since_last_response is very large (which may help to explain why it takes a while for CPU usage to increase, if it grows over time)
  2. why is it doing all this work to create a debug log string even if LS_VERBOSE isn't set, chromium uses things like VLOG_IS_ON to prevent needless computation like this

@beaugunderson
Copy link

oh, those are defined as mappings, LOG_CHECK_LEVEL(sev) -> VLOG_IS_ON(rtc::sev) so those could be used, but will see if i can figure out if/why why pings_since_last_response_ is large

@beaugunderson
Copy link

this seems wrong

wat

@beaugunderson
Copy link

also this happens which is maybe just lldb being bad?

(lldb) expr pings_since_last_response_.size()
(size_type) $43 = 0

@beaugunderson
Copy link

gdb does list the size correctly but lldb crashed my running process so i have to wait for the bug state to appear again to see how large it gets

@beaugunderson
Copy link

one more note is that trying to print pings_since_last_response_ in lldb and disabling the limit of 256 items got lldb killed by the linux OOM killer, meaning that it is legitmately huge ;P

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment