Created
February 1, 2017 13:17
-
-
Save luser/6708c7f165d44b7010cbd4c70f45ac22 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"from pyspark.sql import functions\n", | |
"from datetime import datetime, timedelta" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"num_days = 1\n", | |
"now = datetime.utcnow()\n", | |
"days = [now - timedelta(days=i) for i in range(1, num_days + 1)]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"dataset = SQLContext(sc).read.load(['s3://telemetry-parquet/socorro_crash/v1/crash_date=' + day.strftime('%Y%m%d') for day in days], 'parquet')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 13, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"crashes = dataset\\\n", | |
".filter(dataset['product'] == 'Firefox')\\\n", | |
".select('signature', functions.explode(dataset['json_dump']['crashing_thread']['frames']).alias('frame')).rdd\\\n", | |
".filter(lambda r: r['frame']['file'] and 'media/webrtc' in r['frame']['file'])\\\n", | |
".groupBy(lambda r: r['signature'])\\\n", | |
".collect()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 14, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"90" | |
] | |
}, | |
"execution_count": 14, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"len(crashes)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 16, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"[u'mozilla::dom::RTCCertificateBinding::Wrap',\n", | |
" u'mozilla::dom::CallbackObject::CallSetup::CallSetup',\n", | |
" u'WebRtcAgc_InitDigital',\n", | |
" u'msvcr120.dll@0xf20c | webrtc::I420VideoFrame::CreateFrame',\n", | |
" u'js::MarkAtoms',\n", | |
" u'nr_ice_component_consent_timer_cb',\n", | |
" u'moz_malloc_usable_size',\n", | |
" u'CStdMarshal::DisconnectSrvIPIDs',\n", | |
" u'mozilla::widget::NativeKey::GetFollowingCharMessage',\n", | |
" u'OOM | large | mozalloc_abort | mozalloc_handle_oom | moz_xmalloc | mozilla::MakeUnique<T>',\n", | |
" u'_wcsicmp',\n", | |
" u'mozilla::PeerConnectionImpl::Initialize',\n", | |
" u'moz_abort | pages_commit',\n", | |
" u'js::InternalCallOrConstruct',\n", | |
" u'vflydcam.ax@0x9650',\n", | |
" u'js::TenuringTracer::traverse<T>',\n", | |
" u'webrtc::DesktopAndCursorComposer::OnCaptureCompleted',\n", | |
" u'GraphWalker<T>::DoWalk',\n", | |
" u'nsNPAPIPluginInstance::Stop',\n", | |
" u'webrtc::AudioDeviceWindowsCore::InitCaptureThreadPriority',\n", | |
" u'RuleHash_ClassCSMatchEntry',\n", | |
" u'AudioSrvBinding',\n", | |
" u'hang | NtUserPeekMessage | NtUserPeekMessage | NtUserPeekMessage | mozilla::ipc::NeuteredWindowRegion::PumpOnce',\n", | |
" u'nsCycleCollector::ScanWhiteNodes',\n", | |
" u'nsACString_internal::Assign | nsACString_internal::Assign | mozilla::gmp::GetContentParentFromDone::Done',\n", | |
" u'nsIDocument::WarnOnceAbout',\n", | |
" u'webrtc::videocapturemodule::DeviceInfoDS::CreateCapabilityMap',\n", | |
" u'Blt32to32BA_SSE2_Simple',\n", | |
" u'js::jit::DoGetPropFallback',\n", | |
" u'js::MapObject::mark',\n", | |
" u'hang | npswf32_15_0_0_246.dll@0x6f3840',\n", | |
" u'Abort | Could not initialize mScreenReferenceDrawTarget | mozalloc_abort | NS_DebugBreak | gfxPlatform::Init',\n", | |
" u'IPCError-content | (msgtype=0x820017,name=???) Route error: message sent to unknown actor ID',\n", | |
" u'nsTArray_Impl<T>::DestructRange | nsTArray_Impl<T>::RemoveElementsAt | mozilla::MediaEngineSource::Deallocate',\n", | |
" u'mozilla::net::nsProtocolProxyService::LoadHostFilters',\n", | |
" u\"`anonymous namespace''::CloseEventRunnable::WorkerRun\",\n", | |
" u'webrtc::ThreadWindows::~ThreadWindows',\n", | |
" u'memcpy | webrtc::I420VideoFrame::CreateFrame',\n", | |
" u'qipcap.dll@0x31100',\n", | |
" u'mozilla::WebrtcVideoConduit::SendPacket',\n", | |
" u'IPCError-browser | PDocAccessibleParent::AddChildDoc binding to nonexistant proxy!',\n", | |
" u'CPerChannelDbControl::GetDetails',\n", | |
" u'nsCOMPtr_base::assign_from_gs_contractid_with_error | mozilla::DataChannelConnection::Init',\n", | |
" u'IsAboutToBeFinalizedInternal<T>',\n", | |
" u'memset | vp8_post_proc_frame',\n", | |
" u'init_frame',\n", | |
" u'mozilla::EverySecondTelemetryCallback_s',\n", | |
" u'hang | PeekMessageW',\n", | |
" u'CVideoControlInterfaceHandler::GetFrameRateList',\n", | |
" u'nsCSSStyleSheet::GetOwningDocument',\n", | |
" u'webrtc::AudioDeviceWindowsCore::DoCaptureThread',\n", | |
" u'IPCError-browser | ShutDownKill',\n", | |
" u'_moz_cairo_scaled_font_get_font_options',\n", | |
" u'mozilla::WebrtcGmpVideoDecoder::ReceivedDecodedReferenceFrame',\n", | |
" u'webrtc::ProcessThreadImpl::Process',\n", | |
" u'mozilla::DataChannelConnection::Open',\n", | |
" u'std::_Tree<T>::_Lbound',\n", | |
" u'RGB24ToARGBRow_SSSE3',\n", | |
" u'wsck32.dll@0x27263',\n", | |
" u'OOM | large | mozalloc_abort | mozalloc_handle_oom | moz_xmalloc | mozilla::camera::DeliverFrameRunnable::DeliverFrameRunnable',\n", | |
" u'js::GCMarker::lazilyMarkChildren',\n", | |
" u'webrtc::Trace::SetTraceFile',\n", | |
" u'webrtc::DelayManager::UpdateHistogram',\n", | |
" u'nsRuleNode::GetStyleDisplay<T>',\n", | |
" u'sipcc::EverySecondTelemetryCallback_s',\n", | |
" u'OOM | large | mozalloc_abort | mozalloc_handle_oom | moz_xrealloc | nsTArray_base<T>::EnsureCapacity<T> | nsTArray_Impl<T>::AppendElements<T> | mozilla::MediaSegmentBase<T>::AppendFromInternal',\n", | |
" u'nsRefPtr<T>::~nsRefPtr<T> | NativeInterfaceSweeper',\n", | |
" u'general_composite_rect',\n", | |
" u'lavsplitter.ax@0x28c11',\n", | |
" u'CSFLog',\n", | |
" u'OOM | small',\n", | |
" u'JSScript::traceChildren',\n", | |
" u'sdp_validate_sdp',\n", | |
" u'nsRefPtr<T>::assign_with_AddRef | mozilla::net::nsHttpChannel::OnStopRequest',\n", | |
" u'mozilla::dom::CreateInterfaceObjects',\n", | |
" u'_PeekMessage',\n", | |
" u'CSessMixer::GetSimpleVolume',\n", | |
" u'js::IdIsIndex',\n", | |
" u'zzz_AsmCodeRange_Begin | RtlpWaitOnCriticalSection | webrtc::CriticalSectionWindows::Leave',\n", | |
" u'webrtc::VCMEncodedFrameCallback::Encoded',\n", | |
" u\"mozilla::dom::indexedDB::`anonymous namespace''::DatabaseConnection::GetCachedStatement\",\n", | |
" u'mozalloc_abort | NS_DebugBreak | mozilla::ipc::FatalError | mozilla::dom::PContentChild::SendPWebrtcGlobalConstructor',\n", | |
" u'CNativeAudioParse::Init',\n", | |
" u'js::ConstraintTypeSet::sweep',\n", | |
" u'mozilla::SrtpFlow::ProtectRtcp',\n", | |
" u'hang | NtUserMessageCall | RealDefWindowProcW',\n", | |
" u'OOM | large | js::TraceRootRange<T>',\n", | |
" u'PLDHashTable::Add | cft1st',\n", | |
" u'OOM | large | mozalloc_abort | mozalloc_handle_oom | moz_xmalloc | mozilla::layers::BufferRecycleBin::GetBuffer',\n", | |
" u'Interpret']" | |
] | |
}, | |
"execution_count": 16, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"[c[0] for c in crashes]" | |
] | |
}, | |
{ | |
"cell_type": "raw", | |
"metadata": {}, | |
"source": [] | |
} | |
], | |
"metadata": { | |
"anaconda-cloud": {}, | |
"kernelspec": { | |
"display_name": "Python [conda root]", | |
"language": "python", | |
"name": "conda-root-py" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 2 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython2", | |
"version": "2.7.12" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 1 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment