GET /api/v2/video/1395
HTTP 200 OK Vary: Accept Content-Type: text/html; charset=utf-8 Allow: GET, PUT, PATCH, HEAD, OPTIONS
{ "category": "DjangoCon 2012", "language": "English", "slug": "debugging-live-python-web-applications", "speakers": [ "Amjith Ramanujam" ], "tags": [ "debugging", "django" ], "id": 1395, "state": 1, "title": "Debugging Live Python Web Applications", "summary": "Monitoring tools record the result of what happened to your web application\nwhen a problem arises, but for some classes of problems, monitoring systems\nare only a starting point. Sometimes it is necessary to take more intrusive\nsteps to plan for the unexpected by embedding mechanisms that will allow you\nto interact with a live deployed web application and extract even more\ndetailed information.\n\n", "description": "This talk will go over some of the ways in which a monitoring system such as\nNew Relic can be used to focus in on where problems are arising in a Python\nweb application using a framework such as Django. It will also describe how\nyou can then use that information to drill down even further by applying\nseparate debugging tools and techniques rather than monitoring systems.\nDebugging tools aren't generally associated with production systems however\nand even mentioning them in relation to production systems often makes DevOps\npeople rather nervous.\n\nThe main purpose of the talk therefore is to look at a range of debugging\ntools and techniques which can be applied to web applications but also\nseparate them into what might and might not be realistically used on live\nproduction web applications. It will then describe the use of an embedded\ninteractive console port as a gateway into a live web application, how one may\nsetup a set of predefined commands that could be issued against a live web\napplication, or for the brave, how it could be used to fire up an embedded\nPython interpreter prompt or pdb session.\n\nTopics to be touched on would include:\n\n * Browser viewable error pages.\n * Browser based debuggers.\n * Python interactive debuggers.\n * Post-mortem exception analysis.\n * Methods for dumping Python stack traces\n * Methods for dumping C stack traces.\n * Methods for analyzing thread utilization.\n * Interactive process introspection tools.\n * Error reporting and logging services.\n * Performance monitoring services.\n\n", "quality_notes": "", "copyright_text": "Creative Commons Attribution license (reuse allowed", "embed": "<object width=\"640\" height=\"390\"><param name=\"movie\" value=\"http://youtube.com/v/YM4F6sSAu9k?version=3&amp;hl=en_US\"></param><param name=\"allowFullScreen\" value=\"true\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://youtube.com/v/YM4F6sSAu9k?version=3&amp;hl=en_US\" type=\"application/x-shockwave-flash\" width=\"640\" height=\"390\" allowscriptaccess=\"always\" allowfullscreen=\"true\"></embed></object>", "thumbnail_url": "http://i.ytimg.com/vi/YM4F6sSAu9k/hqdefault.jpg", "duration": null, "video_ogv_length": null, "video_ogv_url": null, "video_ogv_download_only": false, "video_mp4_length": null, "video_mp4_url": null, "video_mp4_download_only": false, "video_webm_length": null, "video_webm_url": null, "video_webm_download_only": false, "video_flv_length": null, "video_flv_url": null, "video_flv_download_only": false, "source_url": "http://www.youtube.com/watch?v=YM4F6sSAu9k", "whiteboard": "needs editing", "recorded": "2012-09-04", "added": "2012-10-08T17:39:50", "updated": "2014-04-08T20:28:27.001" }