| 1 | = !MapGuide RFC 110 - Profiling API enhancement = |
| 2 | |
| 3 | This page contains a change request (RFC) for the !MapGuide Open Source project. |
| 4 | More !MapGuide RFCs can be found on the [wiki:MapGuideRfcs RFCs] page. |
| 5 | |
| 6 | |
| 7 | == Status == |
| 8 | |
| 9 | ||RFC Template Version||(1.0)|| |
| 10 | ||Submission Date|| February 23,2011 || |
| 11 | ||Last Modified|| Bruce Dechant, February 23,2011 || |
| 12 | ||Author|| Bruce Dechant|| |
| 13 | ||RFC Status|| draft|| |
| 14 | ||Implementation Status||(pending)|| |
| 15 | ||Proposed Milestone|| 2.3 || |
| 16 | ||Assigned PSC guide(s)||Bruce Dechant|| |
| 17 | ||'''Voting History'''|| || |
| 18 | ||+1|||| |
| 19 | ||+0|||| |
| 20 | ||-0|||| |
| 21 | ||-1|||| |
| 22 | ||no vote|||| |
| 23 | |
| 24 | == Overview == |
| 25 | |
| 26 | This RFC adds some profiling APIs to !MapGuide to help identify resources that need to be optimized and performance bottlenecks. |
| 27 | |
| 28 | == Motivation == |
| 29 | |
| 30 | Provide some profiling APIs that would generate an XML report that could be analyzed to help determine if any resources need to be optimied or if there are performance bottlenecks in the code that need to be looked at. |
| 31 | |
| 32 | == Proposed Solution == |
| 33 | |
| 34 | The following NEW APIs will be added to the offical API (PHP, Java and .Net): |
| 35 | |
| 36 | {{{ |
| 37 | MgByteReader* ProfileMap( |
| 38 | MgMap* map, |
| 39 | MgSelection* selection, |
| 40 | MgCoordinate* center, |
| 41 | double scale, |
| 42 | INT32 width, |
| 43 | INT32 height, |
| 44 | MgColor* backgroundColor, |
| 45 | CREFSTRING format, |
| 46 | bool bKeepSelection) |
| 47 | }}} |
| 48 | |
| 49 | {{{ |
| 50 | MgByteReader* ProfileMapLegend( |
| 51 | MgMap* map, |
| 52 | INT32 width, |
| 53 | INT32 height, |
| 54 | MgColor* backgroundColor, |
| 55 | CREFSTRING format) |
| 56 | }}} |
| 57 | |
| 58 | Parameters: |
| 59 | {{{ |
| 60 | }}} |
| 61 | |
| 62 | {{{ |
| 63 | MgByteReader* ProfileLayer() |
| 64 | }}} |
| 65 | |
| 66 | {{{ |
| 67 | MgByteReader* ProfileFeatureSource() |
| 68 | }}} |
| 69 | |
| 70 | The above APIs will generate an XML document that contains the gathered profiling information. |
| 71 | |
| 72 | * TBD XML document schema |
| 73 | |
| 74 | Information gathered: |
| 75 | |
| 76 | MapDefinition: |
| 77 | {{{ |
| 78 | }}} |
| 79 | |
| 80 | LayerDefinition: |
| 81 | {{{ |
| 82 | }}} |
| 83 | |
| 84 | FeatureSource: |
| 85 | {{{ |
| 86 | }}} |
| 87 | |
| 88 | == Implications == |
| 89 | |
| 90 | None as these are new APIs. |
| 91 | |
| 92 | == Test Plan == |
| 93 | |
| 94 | !Build/Run on !Windows/Linux |
| 95 | |
| 96 | == Funding / Resources == |
| 97 | |
| 98 | Supplied by Autodesk |