task namedurationguidbaseline start this is the task name2...

37
Anaheim, CA | February 2-5, 2014

Upload: harry-reginald-morrison

Post on 18-Dec-2015

222 views

Category:

Documents


0 download

TRANSCRIPT

Anaheim, CA | February 2-5, 2014

Adrian Jenkins and Brian SmithSenior Escalation EngineersMicrosoft

Troubleshooting Tips for Project and Project Server

PC209

MICROSOFT CONFIDENTIAL – INTERNAL ONLY

What we will cover…

• What makes a good repro• Where to look when things go wrong• Where to look if things are still going wrong• Finding and Reading the Logs• Troubleshooting Tools of the Trade• Troubleshooting with SQL Profiler• Troubleshooting using Client Logs• Questions

Logs

ULS logs PSCDiagnostics Upgrade Application Event

Event 1001! Watson %temp%

Online

TechNet Project Server TechCenter

MSDN Developer Center Blogs Forums

Where to look when things go wrong

DiagnosticsUsing our scripted diagnostic tools

Brian SmithSenior Escalation Engineer

demo

More Tools

Client Database

Application Event Log Client –side logging IE – Developer Tools IE Right-click SharePoint Developer

Dashboard Fiddler NetMon

SQL Server Profiler SQL Server

Management Studio P14DBDiag (coming

soon) NetMon

Server

ULSViewer Process Monitor

(sysinternals) PerfMon PowerShell NetMon ProjTool

Troubleshooting Tools of the TradeWhat to use and where

MICROSOFT CONFIDENTIAL – INTERNAL ONLY

SQL Profiler Trace

• Part of SQL Server (all versions) – can be found under the Performance Tools folder under SQL Server in the start menu

• My favorite tool – but again be careful in production unless you know what you are doing

• You can track the request being made against the database. Good for seeing performance issues and also excellent for tracking down data issues

Troubleshooting with SQL ProfilerHired resources report issuesBrian SmithSenior Support Escalation Engineer

demo

Troubleshooting Workflow IssuesWhat does Additional Workflow Data tell you?Clicking the symbol next to the Internal Status may elicit some useful informationA ‘401’ will usually mean the user profile service isn’t giving a unique (or any) response for the user specified

Do the IIS logs (on-premises) show anything?These will at the very least confirm who the workflow requests are coming from

What about the DebugTraces table (on-premises)?This is in the Workflow Instance Management database for Workflow Manager – by default called WFInstanceManagement

Are other workflows working?List workflows, or other site workflows – is it Project specific, stage specific or user specific? Try writing to the Task History list for debugging purposes

Client Logging

Why Client Logging?See where a process starts and stopsSee what was readSee what was writtenBecause it’s fun?

Project 2010 Logging

Project 2010 Client Logging• Sequential Text File • Use Notepad or other such tool to read

• Property Based Output• Logs Only Active Cache Interactions

Enabling Logging 2010The Registry Entries:Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\MS Project]"WinprojLog"="c:\\WinProjLogs\\""DebugCategory"=dword:ffffffff"DebugLevel"=dword:00000005"DebugLoadSerCategory"=dword:000003ed

Properties - PIDs• May be Listed in Hexadecimal value• To use, convert to decimal – and back…

• Where to find the Definitions • Built-in Local Custom Fields • Sometimes you’ll find the text string in the LOG file…• Published [MSP_CONVERSIONS].CONV_VALUE, look at CONV_STRING name• Listed in Decimal Value

• Enterprise Custom Fields• Published [MSP_CUSTOM_FIELDS].MD_PROP_ID, look at MD_PROP_NAME name• Listed in Decimal Value

Quick Timeout! File Open process…• PSI calls over SOAP are Sent to Server• Primary PSI Calls are:• ReadProjectStatus• PreReadProject• ReadProjectCoreData• ReadProjectNonCoreData• PostReadProject• ReadEnterpriseResourceAndSRAData• GetMatchingResources

• If any Calls fail, the entire Open fails

What Got Saved?Example: Did the task BaselineStart get saved?Gather the data…• Get Task GUID• Get PID• Look in Log and see if “Value” set

Task Name Duration GUID Baseline StartThis is the Task Name 2 days 90F44E39-646D-4A22-A991-65B952698042 NAThis is another Task 2 days A7AED6B7-42A5-4CB4-BCFB-60CDA9361850 1/23/14 8:00 AM

What Got Saved – Log ExampleTask GUID = {90F44E39-646D-4A22-A991-65B952698042}

PID = b40002b or b400513Log says…Set to NULL pid = b400513 Value = type=stringSetting pid b40002b to NULL

So, what happened?

What Went Wrong?18:21:50.756 00001cf0  Soap Error fault string: Unhandled Communication Fault occurred18:21:50.756 00001cf0  Soap detail string: <detail><string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">The request channel timed out while waiting for a reply after 00:02:59.9980000. Increase the timeout value passed to the call to Request or increase the SendTimeout value on the Binding. The time allotted to this operation may have been a portion of a longer timeout.</string></detail>18:21:50.756 00001b90  pid =f40010f  Value = 0.000000    type=double18:21:50.756 00001b90  Soap call returned hr = 0 psErrorID = 900018:21:50.756 00001cf0  ExecuteSoapCall() returning 0 pid =f400025  Value = 0.000000    type=double18:21:50.756 00001cf0  Error while executing soap method ReadProjectNonCoreData2: faultcode: ProjectServerFaultCode18:21:50.756 00001cf0  Error while executing soap method ReadProjectNonCoreData2: faultstring: Unhandled Communication Fault occurred18:21:50.756 00001cf0  Error while executing soap method ReadProjectNonCoreData2: faultdetail: <detail><string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">The request channel timed out while waiting for a reply after 00:02:59.9980000. Increase the timeout value passed to the call to Request or increase the SendTimeout value on the Binding. The time allotted to this operation may have been a portion of a longer timeout.</string></detail>

Project 2013 Logging

Project 2013 Client Logging• Sequential Text File, ULS file format • Use a ULS file reader tool – or Notepad if you wish

• Function Based Output• Works Even Without Server

Project 2013 Logging DiagnosticsEmail received…

Project 2013 Logging DiagnosticsDiagnostics run…

Project 2013 Logging DiagnosticsDiagnostics start…

Enabled Logging 2013The Registry Entries:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\MS Project]"EnableLogging"=dword:00000001"EnableTextFileLogging"=dword:00000000"WinprojLog"="c:\\WinProjLogs\\""DebugCategory"=dword:ffffffff"DebugLevel"=dword:00000005"DebugLoadSerCategory"=dword:000003ed

Debug Levels You Can SetDebugLevel Values

Category #

Level Name

Level Value

10 Unexpected 1

15 Monitorable 2

20 High 350 Medium 4100 Verbose 5200 VerboseEx 6

Category Logging

37 Specific Categories to LogWindows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\MS Project\Logging]"LoadSave"=dword:00000006"Cache"=dword:00000006"Serializer"=dword:00000005

Where to Get the “Category” Names?Turn on logging and look at the top of the log file or the “nameext” file.

Troubleshooting Using Client Logging -2013Adrian JenkinsSenior Support Escalation Engineer

demo

What Happened Here?

What Happened Here? Gather the info…• pid =2D8 value = {6678047A-0DAD-E211-

93EF-005056AD1F81}• Setting Rate pid to null 2dd

What Happened Here? Translate into human readable info…• pid = 2D8 -> 728 -> RES_UID

value = {6678047A-0DAD-E211-93EF-005056AD1F81}

• Setting Rate pid to null 2dd -> 733 -> Rate Table

What Happened Here? Create a hypothesis…

Project Crashed While Saving Rate Table Info

Client Logging SummaryGives a View Into Open and Save OperationsCan help Identify ProblemsCan be fun to dig around… or not!

Questions?

MyPC fill out evaluations & win prizes!

Fill out session evaluations by logging into MyPC on your laptop or mobile device.

Evaluation prizes daily! Claim your prize at the Registration Desk on Level 1.

www.msprojectconference.com

After the event, over 100 hours of resources; including all of the PPT decks and session videos will be available.

© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.