|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 2000 Apple Computer, Inc. All rights reserved. ! 3: * ! 4: * @APPLE_LICENSE_HEADER_START@ ! 5: * ! 6: * The contents of this file constitute Original Code as defined in and ! 7: * are subject to the Apple Public Source License Version 1.1 (the ! 8: * "License"). You may not use this file except in compliance with the ! 9: * License. Please obtain a copy of the License at ! 10: * http://www.apple.com/publicsource and read it before using this file. ! 11: * ! 12: * This Original Code and all software distributed under the License are ! 13: * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER ! 14: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, ! 15: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, ! 16: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the ! 17: * License for the specific language governing rights and limitations ! 18: * under the License. ! 19: * ! 20: * @APPLE_LICENSE_HEADER_END@ ! 21: */ ! 22: /* ! 23: File: HFSInstrumentation.h ! 24: ! 25: Contains: xxx put contents here xxx ! 26: ! 27: Version: xxx put version here xxx ! 28: ! 29: Copyright: � 1997 by Apple Computer, Inc., all rights reserved. ! 30: ! 31: File Ownership: ! 32: ! 33: DRI: xxx put dri here xxx ! 34: ! 35: Other Contact: xxx put other contact here xxx ! 36: ! 37: Technology: xxx put technology here xxx ! 38: ! 39: Writers: ! 40: ! 41: (DSH) Deric Horn ! 42: (djb) Don Brady ! 43: ! 44: Change History (most recent first): ! 45: ! 46: <CS6> 10/1/97 djb Add kGetCatalogIterator ! 47: <CS5> 9/4/97 djb Add kTraceRelString, kHeuristicHint. ! 48: <CS4> 7/24/97 djb Add summary traces for GetNode, RelNode, and BasicIO. ! 49: <CS3> 7/21/97 djb Redefine LogStartTime/LogEndTime macros. ! 50: <CS2> 7/16/97 DSH FilesInternal.i renamed FileMgrInternal.i to avoid name ! 51: collision ! 52: <CS1> 5/9/97 djb first checked in ! 53: */ ! 54: ! 55: #include "../../hfs_macos_defs.h" ! 56: #include "../FileMgrInternal.h" ! 57: ! 58: ! 59: // ! 60: // Instrumentation summary trace indicies ! 61: // ! 62: enum { ! 63: // Unicode routines ! 64: kTraceUnicodeToPString, ! 65: kTracePStringToUnicode, ! 66: kTraceUnicodeCompare, ! 67: ! 68: kTraceRelString, ! 69: ! 70: // B-tree routines ! 71: kTraceOpenBTree, ! 72: kTraceCloseBTree, ! 73: kTraceFlushBTree, ! 74: kTraceSearchBTree, ! 75: kTraceGetBTreeRecord, ! 76: kTraceInsertBTreeRecord, ! 77: kTraceDeleteBTreeRecord, ! 78: kTraceReplaceBTreeRecord, ! 79: ! 80: // Misc routines ! 81: kTraceMapFileBlock, ! 82: kTraceBlockAllocate, ! 83: ! 84: kTraceGetNode, ! 85: kTraceReleaseNode, ! 86: kTraceBasicIO, ! 87: kTraceFSRead, ! 88: kHeuristicHint, ! 89: kGetCatalogIterator, ! 90: ! 91: ! 92: kSummaryTraceRefs // number of summary trace references ! 93: }; ! 94: ! 95: ! 96: void STLogStartTime(UInt32 selector); ! 97: void STLogEndTime(UInt32 selector, OSErr error); ! 98: ! 99: ! 100: /* ! 101: MACRO ! 102: LogStartTime(selector) ! 103: ! 104: DESCRIPTION ! 105: If summary traces are enabled then LogStartTime will record the starting time for ! 106: the routine associated with the selector. Otherwise LogStartTime does nothing. ! 107: ! 108: */ ! 109: ! 110: #if hasSummaryTraces ! 111: ! 112: #define LogStartTime(selector) STLogStartTime( (selector) ) ! 113: ! 114: #else ! 115: ! 116: #define LogStartTime(selector) ((void) 0) ! 117: ! 118: #endif ! 119: ! 120: ! 121: ! 122: /* ! 123: MACRO ! 124: LogEndTime(selector, error) ! 125: ! 126: DESCRIPTION ! 127: If summary traces are enabled then InsLogEndTime will record the ending time for ! 128: the routine associated with the selector. Otherwise LogEndTime does nothing. ! 129: ! 130: */ ! 131: ! 132: #if hasSummaryTraces ! 133: ! 134: #define LogEndTime(selector,error) STLogEndTime( (selector), (error) ) ! 135: ! 136: #else ! 137: ! 138: #define LogEndTime(selector,error) ((void) 0) ! 139: ! 140: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.