[Catalyst-dev] Proposal for built-in profiling function

Jon Schutz jon+catalyst at youramigo.com
Tue Oct 16 02:34:31 GMT 2007


T24gRnJpLCAyMDA3LTEwLTEyIGF0IDE4OjQ1ICswMTAwLCBNYXR0IFMgVHJvdXQgd3JvdGU6Cj4g
T24gRnJpLCBPY3QgMTIsIDIwMDcgYXQgMTE6NTE6MTJBTSArMDkzMCwgSm9uIFNjaHV0eiB3cm90
ZToKPiA+IE9uIFRodSwgMjAwNy0xMC0xMSBhdCAyMjozOSArMDEwMCwgTWF0dCBTIFRyb3V0IHdy
b3RlOgo+ID4gPiBPbiBUaHUsIE9jdCAxMSwgMjAwNyBhdCAxMDoxNzoxM1BNICswOTMwLCBKb24g
U2NodXR6IHdyb3RlOgo+ID4gPiA+IFRoYXQgQ2F0YWx5c3QgcmVwb3J0cyB0aGUgYW1vdW50IG9m
IHRpbWUgdGFrZW4gaW4gZWFjaCBjb21wb25lbnQgbWV0aG9kCj4gPiA+ID4gaXMgdmVyeSBuZWF0
Li4uIGJ1dCByZXN0cmljdGl2ZS4gIEl0IHdvdWxkIGJlIG5pY2UgdG8gZWFzaWx5IGFkZAo+ID4g
PiA+ICJwcm9maWxlIHBvaW50cyIgaW50byB0aGUgY29kZSBhbmQgaGF2ZSB0aGUgZXhlY3V0aW9u
IHRpbWUgdG8gdGhvc2UKPiA+ID4gPiBwb2ludHMgcmVwb3J0ZWQgYXMgd2VsbC4KPiA+ID4gPiAK
PiA+ID4gPiBUaGUgaWRlYSBpcyB0aGF0IHRoZSBzdW1tYXJ5IHJlcG9ydCB3aGljaCBjdXJyZW50
bHkgbG9va3Mgc29tZXRoaW5nIGxpa2UKPiA+ID4gPiB0aGlzOgo+ID4gPiA+IAo+ID4gPiA+IC4t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tKy0tLS0tLS0tLS0tLgo+ID4gPiA+IHwgQWN0aW9uICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBUaW1lICAgICAgfAo+ID4gPiA+
ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tKy0tLS0tLS0tLS0tKwo+ID4gPiA+IHwgL3N0YXR1cy9hdXRvICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAwLjAwMDc1MXMgfAo+ID4g
PiA+IHwgL3N0YXR1cy9zeW5jc3RhdHVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfCAwLjI0MTQ5NHMgfAo+ID4gPiA+IHwgL2VuZCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAwLjA2NTkxN3MgfAo+
ID4gPiA+IHwgIC0+IFNMeDo6Vmlldzo6VFQtPnByb2Nlc3MgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAwLjA2NDExMXMgfAo+ID4gPiA+ICctLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t
Jwo+ID4gPiA+IAo+ID4gPiA+IHdpdGggc2NhdHRlcmluZ3Mgb2YgY29kZSBsaWtlIHRoaXM6Cj4g
PiA+ID4gCj4gPiA+ID4gJGMtPnByb2ZpbGUoInN0YXJ0aW5nIGxvbmcgcm91dGluZSIpOwo+ID4g
PiA+IC4uLgo+ID4gPiA+ICRjLT5wcm9maWxlKCJkb25lIHN0dWZmIik7Cj4gPiA+ID4gLi4uCj4g
PiA+IAo+ID4gPiBXb3VsZG4ndCBpdCBiZSBiZXR0ZXIgdG8gaGF2ZSBzdGFydF9wcm9maWxlICsg
ZW5kX3Byb2ZpbGUgbWV0aG9kcz8KPiA+ID4gCj4gPiA+IFRoZXJlIHdhcyBhIENhdGFseXN0OjpQ
bHVnaW46OlRpbWVyIGF0IG9uZSBwb2ludCBwcm9wb3NlZCB0aGF0IGRpZCByb3VnaGx5Cj4gPiA+
IHRoYXQuCj4gPiA+IAo+ID4gCj4gPiBJIGRvbid0IGtub3cgd2hhdCBhbnlvbmUgZWxzZSB0aGlu
a3MsIGJ1dCBJTUhPIGhhdmluZyBhIHNpbmdsZSBtZXRob2QKPiA+IGhhbHZlcyB0aGUgbnVtYmVy
IG9mIGxpbmVzIG9mIGNvZGUgZm9yIHR5cGljYWwgdXNlIGNhc2VzLiBlLmcuIHN0YXJ0aW5nCj4g
PiB3aXRoIGEgYmlnIGJsb2NrIG9mIGNvZGUgd2hlcmUgeW91IGp1c3Qgd2FudCB0byB0YWcsIHNh
eSwgMTAgcG9pbnRzIGFuZAo+ID4gc2VlIHRoZSB0aW1pbmdzLCB0aGF0J3MgMTAgY2FsbHMgdG8g
JGMtPnByb2ZpbGUoKS4gIFdpdGgKPiA+IHN0YXJ0L2VuZF9wcm9maWxlLCB5b3UnZCBuZWVkIHRv
IGFkZCB0aGVtIGluIHBhaXJzLCBtYWtpbmcgMjAgY2FsbHMuICBJbgo+ID4gdGhlIG90aGVyIGV4
dHJlbWUsIHdoZXJlIHlvdSBqdXN0IHdhbnQgdG8gZ2V0IHRoZSB0aW1pbmcgb2Ygb25lIHNlY3Rp
b24KPiA+IG9mIGNvZGUsIGl0J3MgMiBjYWxscyBlaXRoZXIgd2F5Lgo+IAo+IEhhdmluZyBhIHNp
bmdsZSBtZXRob2QgYWxzbyBtYWtlcyBpdCBpbXBvc3NpYmxlIHRvIGdldCBuZXN0ZWQgZ3JhcGhz
IGxpa2Ugd2UKPiBjdXJyZW50bHkgcHJvdmlkZSBmb3IgZm9yd2FyZCgpIHRob3VnaC4KPiAgCj4g
PiA+ID4gU28sIEknZCBsaWtlIHRvIHByb3Bvc2UgYSB0cml2aWFsIGNoYW5nZSB0byB0aGUgY29y
ZSBjb2RlIHRvIGFsbG93IHRoaXMKPiA+ID4gPiBmdW5jdGlvbmFsaXR5LiAgQmFzaWNhbGx5IGl0
IGp1c3QgYWRkcyBhICdwcm9maWxlJyBtZXRob2Qgd2hpY2ggaG9va3MKPiA+ID4gPiBpbnRvIHRo
ZSBleGlzdGluZyB0aW1pbmcgdHJlZS4gIEkndmUgYmVlbiBydW5uaW5nIHRoaXMgY29kZSBhbmQg
Zm91bmQgaXQKPiA+ID4gPiBlbm9ybW91c2x5IHVzZWZ1bCBpbiBpc29sYXRpbmcgcHJvYmxlbSBh
cmVhcy4gIFBhdGNoIGZvciBDYXRhbHlzdC5wbQo+ID4gPiA+IGFnYWluc3QgNS43MDEwIGlzIGF0
dGFjaGVkLgo+ID4gPiAKPiA+ID4gWW91ciBwYXRjaCBpc24ndCB3aGl0ZXNwYWNlIGNsZWFuICh5
b3UgaGF2ZSB3aGl0ZXNwYWNlIG9ubHkgY2hhbmdlcyBhbmQKPiA+ID4gbWl4ZWQgc3BhY2VzIGFu
ZCB0YWJzIGluIHRoZXJlKSwgaGFzIG5vIHRlc3RzIGFuZCBpc24ndCBhIGRpZmYgLXVyLCBzbyBJ
IGNhbid0Cj4gPiA+IGFjdHVhbGx5IHRlbGwgd2hldGhlciBpdCBkb2VzIGFueXRoaW5nIHNlbnNp
YmxlLgo+ID4gPiAKPiA+ID4gVHJ5IGFnYWluIHBsZWFzZT8KPiA+ID4gCj4gPiAKPiA+IFN1cmUu
ICBQZXJoYXBzIHlvdSBjb3VsZCBwb2ludCBtZSBpbiB0aGUgcmlnaHQgZGlyZWN0aW9uIHcuci50
LiB0aGUKPiA+IHRlc3RzLiAgSSBjb3VsZG4ndCBzZWUgYW55IGV4aXN0aW5nIHRlc3QgZm9yIHRo
ZSBjb21wb25lbnQgdGltaW5ncyB0aGF0Cj4gPiBJIGNvdWxkIGFkZCB0by4gIElzIHRoZXJlIGEg
cmVwcmVzZW50YXRpdmUgdGVzdCBjYXNlIHRoZXJlIHRoYXQgY2FwdHVyZXMKPiA+IFNUREVSUiBv
ciBsb2cgb3V0cHV0IGFuZCB2ZXJpZmllcyBpdHMgY29udGVudCwgdGhhdCBJIGNhbiB1c2UgYXMg
YSBiYXNlPwo+IAo+IEknZCB3cml0ZSBzb21ldGhpbmcgdGhhdCBkdWcgaW50byAkYy0+c3RhdHMg
YXQgcmVxdWVzdC1lbmQuCj4gCj4gSSBkbyB3b25kZXIgaWYgd2l0aCBhIGJpdCBvZiB3b3JrIHlv
dSBjb3VsZG4ndCBtYWtlICRjLT5zdGF0cyBhIHN1YmNsYXNzIG9mCj4gYSB0cmVlIGFuZCBwcm92
aWRlIGFuIEFQSSB0aGF0IC1hbnktIHByb2ZpbGluZyBjb2RlIGNvdWxkIGF0dGFjaCBpdHNlbGYg
dG8KPiB3aXRob3V0IG5lZWRpbmcgYSBwbHVnaW4uIEFkZGluZyBtZXRob2RzIHRvIGNvcmUgc3Rp
bGwgZmVlbHMgbGlrZSBpdCdzCj4gdW5uZWNlc3NhcnkgdGhvdWdoIEkndmUgbm90IHBva2VkIGFy
b3VuZCBpbiBkZXRhaWwgYXMgdG8gYWx0ZXJuYXRpdmVzLgo+IAoKSSd2ZSBjcmVhdGVkIENhdGFs
eXN0OjpTdGF0cyBhbmQgZmFjdG9yZWQgb3V0IHRoZSBlbWJlZGRlZCBzdGF0cyBjb2RlIGluCkNh
dGFseXN0LnBtLiAgRGVmYXVsdCBmdW5jdGlvbmFsaXR5IGlzIGlkZW50aWNhbCB0byBleGlzdGlu
Zy4gIEFueWJvZHkKY2FuIHN1YnN0aXR1dGUgdGhlaXIgb3duIGNsYXNzIHdpdGgKX19QQUNLQUdF
X18tPnN0YXRzX2NsYXNzKCJNeTo6U3RhdHMiKS4gICRjLT5zdGF0cyByZXR1cm5zIHRoZSBzdGF0
cwpvYmplY3QuICBUaHVzIHR5cGljYWwgdXNlIGlzICRjLT5zdGF0cy0+cHJvZmlsZSguLi4pLiAg
VGhlIHByb2ZpbGUKbWV0aG9kIGNhbiB0YWtlIGEgc2luZ2xlIGNvbW1lbnQgb3IgbXVsdGlwbGUg
YXJncyB0byBtYXJrIGJlZ2luL2VuZCBzbwpmaXRzIGJvdGggdXNlIGNhc2VzIGRpc2N1c3NlZCBh
Ym92ZS4KCkltcG9ydGFudGx5LCBzdGF0cyBjYW4gYmUgZW5hYmxlZCB3aXRob3V0IGhhdmluZyB0
byBlbmFibGUgZGVidWcsCnRocm91Z2ggdGhlIG5vcm1hbCBtZWNoYW5pc21zIC0gdXNlIENhdGFs
eXN0IHF3Ly1TdGF0cz0xLywKQ0FUQUxZU1RfU1RBVFM9MS4gIFdoZW4gZGlzYWJsZWQsIG92ZXJo
ZWFkIGlzIG5lZ2xpZ2libGUuCgpQYXRjaCBhZ2FpbnN0IENhdGFseXN0LVJ1bnRpbWUtNS43MDEw
IGlzIGF0dGFjaGVkLCBpbmMgZG9jIGFuZCB0ZXN0cy4KUGVybGRvYyBwcm92aWRlZCBiZWxvdyBm
b3IgY29udmVuaWVuY2UuCgpSZWdhcmRzLAoKLS0gCgpKb24KCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KCk5BTUUKICAgICAgIENhdGFseXN0OjpTdGF0cyAtIENhdGFseXN0IFRp
bWluZyBTdGF0aXN0aWNzIENsYXNzCgpTWU5PUFNJUwogICAgICAgICAgICRzdGF0cyA9ICRjLT5z
dGF0czsKICAgICAgICAgICAkc3RhdHMtPmVuYWJsZSgxKTsKICAgICAgICAgICAkc3RhdHMtPnBy
b2ZpbGUoJGNvbW1lbnQpOwogICAgICAgICAgICRzdGF0cy0+cHJvZmlsZShiZWdpbiA9PiAkYmxv
Y2tfbmFtZSwgY29tbWVudCA9PiRjb21tZW50KTsKICAgICAgICAgICAkc3RhdHMtPnByb2ZpbGUo
ZW5kID0+ICRibG9ja19uYW1lKTsKICAgICAgICAgICAkZWxhcHNlZCA9ICRzdGF0cy0+ZWxhcHNl
ZDsKICAgICAgICAgICAkcmVwb3J0ID0gJHN0YXRzLT5yZXBvcnQ7CgogICAgICAgU2VlIENhdGFs
eXN0LgoKREVTQ1JJUFRJT04KICAgICAgIFRoaXMgbW9kdWxlIHByb3ZpZGVzIHRoZSBkZWZhdWx0
LCBzaW1wbGUgdGltaW5nIHN0YXRzIGNvbGxlY3Rpb24gZnVuY3Rpb25hbGl0eSBmb3IKICAgICAg
IENhdGFseXN0LiAgSWYgeW91IHdhbnQgc29tZXRoaW5nIGRpZmZlcmVudCBzZXQgIk15QXBwLT5z
dGF0c19jbGFzcyIgaW4geW91ciBhcHBsaWNhLQogICAgICAgdGlvbiBtb2R1bGUsIGUuZy46Cgog
ICAgICAgICAgIF9fUEFDS0FHRV9fLT5zdGF0c19jbGFzcyggIk15OjpTdGF0cyIgKTsKCiAgICAg
ICBJZiB5b3Ugd3JpdGUgeW91ciBvd24sIHlvdXIgc3RhdHMgb2JqZWN0IGlzIGV4cGVjdGVkIHRv
IHByb3ZpZGUgdGhlIGludGVyZmFjZQogICAgICAgZGVzY3JpYmVkIGhlcmUuCgogICAgICAgQ2F0
YWx5c3QgdXNlcyB0aGlzIGNsYXNzIHRvIHJlcG9ydCB0aW1pbmdzIG9mIGNvbXBvbmVudCBhY3Rp
b25zLiAgWW91IGNhbiBhZGQgcHJvZmlsLQogICAgICAgaW5nIHBvaW50cyBpbnRvIHlvdXIgb3du
IGNvZGUgdG8gZ2V0IGRlZXBlciBpbnNpZ2h0LiBUeXBpY2FsIHVzYWdlIG1pZ2h0IGJlIGxpa2Ug
dGhpczoKCiAgICAgICAgIHN1YiBteXN1YiB7CiAgICAgICAgICAgbXkgKCRjLCAuLi4pID0gQF87
CiAgICAgICAgICAgJGMtPnN0YXRzLT5wcm9maWxlKGJlZ2luID0+ICJteXN1YiIpOwogICAgICAg
ICAgICMgY29kZSBnb2VzIGhlcmUKICAgICAgICAgICAuLi4KICAgICAgICAgICAkYy0+c3RhdHMt
PnByb2ZpbGUoInN0YXJ0aW5nIGNyaXRpY2FsIGJpdCIpOwogICAgICAgICAgICMgY29kZSBoZXJl
IHRvbwogICAgICAgICAgIC4uLgogICAgICAgICAgICRjLT5zdGF0cy0+cHJvZmlsZSgiY29tcGxl
dGVkIGZpcnN0IHBhcnQgb2YgY3JpdGljYWwgYml0Iik7CiAgICAgICAgICAgIyBtb3JlIGNvZGUK
ICAgICAgICAgICAuLi4KICAgICAgICAgICAkYy0+c3RhdHMtPnByb2ZpbGUoImNvbXBsZXRlZCBz
ZWNvbmQgcGFydCBvZiBjcml0aWNhbCBiaXQiKTsKICAgICAgICAgICAjIG1vcmUgY29kZQogICAg
ICAgICAgIC4uLgogICAgICAgICAgICRjLT5zdGF0cy0+cHJvZmlsZShlbmQgPT4gIm15c3ViIik7
CiAgICAgICAgIH0KCiAgICAgICBTdXBwb3NpbmcgbXlzdWIgd2FzIGNhbGxlZCBmcm9tIHRoZSBh
Y3Rpb24gInByb2Nlc3MiIGluc2lkZSBhIENhdGFseXN0IENvbnRyb2xsZXIKICAgICAgIGNhbGxl
ZCAic2VydmljZSIsIHRoZW4gdGhlIHJlcG9ydGVkIHRpbWluZ3MgZm9yIHRoZSBhYm92ZSBleGFt
cGxlIG1pZ2h0IGxvb2sgc29tZXRoaW5nCiAgICAgICBsaWtlIHRoaXM6CgogICAgICAgICAuLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLSstLS0tLS0tLS0tLS4KICAgICAgICAg4pSCIEFjdGlvbiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKUgiBUaW1lICAgICAg4pSCCiAg
ICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKwogICAgICAgICDilIIgL3NlcnZpY2UvcHJvY2Vz
cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pSCIDEuMzI3
NzAycyDilIIKICAgICAgICAg4pSCICBteXN1YiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKUgiAwLjU1NTU1NXMg4pSCCiAgICAgICAgIOKU
giAgIC0gc3RhcnRpbmcgY3JpdGljYWwgYml0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICDilIIgMC4xMTExMTFzIOKUggogICAgICAgICDilIIgICAtIGNvbXBsZXRlZCBmaXJz
dCBwYXJ0IG9mIGNyaXRpY2FsIGJpdCAgICAgICAgICAgICAgICAgICAgICAg4pSCIDAuMzMzMzMz
cyDilIIKICAgICAgICAg4pSCICAgLSBjb21wbGV0ZWQgc2Vjb25kIHBhcnQgb2YgY3JpdGljYWwg
Yml0ICAgICAgICAgICAgICAgICAgICAgIOKUgiAwLjExMTAwMHMg4pSCCiAgICAgICAgIOKUgiAv
ZW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICDilIIgMC4wMDAxNjBzIOKUggogICAgICAgICDigJktLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t4oCZ
CgogICAgICAgd2hpY2ggbWVhbnMgbXlzdWIgdG9vayAwLjU1NTU1NXMgb3ZlcmFsbCwgaXQgdG9v
ayAwLjExMTExMXMgdG8gcmVhY2ggdGhlIGNyaXRpY2FsIGJpdCwKICAgICAgIHRoZSBmaXJzdCBw
YXJ0IG9mIHRoZSBjcml0aWNhbCBiaXQgdG9vayAwLjMzMzMzM3MsIGFuZCB0aGUgc2Vjb25kIHBh
cnQgMC4xMTFzLgoKTUVUSE9EUwogICAgICAgbmV3CgogICAgICAgQ29uc3RydWN0b3IuCgogICAg
ICAgICAgICRzdGF0cyA9IENhdGFseXN0OjpTdGF0cy0+bmV3OwoKICAgICAgIGVuYWJsZQoKICAg
ICAgICAgICAkc3RhdHMtPmVuYWJsZSgwKTsKICAgICAgICAgICAkc3RhdHMtPmVuYWJsZSgxKTsK
CiAgICAgICBFbmFibGUgb3IgZGlzYWJsZSBzdGF0cyBjb2xsZWN0aW9uLiAgQnkgZGVmYXVsdCwg
c3RhdHMgYXJlIGVuYWJsZWQgYWZ0ZXIgb2JqZWN0IGNyZS0KICAgICAgIGF0aW9uLgoKICAgICAg
IHByb2ZpbGUKCiAgICAgICAgICAgJHN0YXRzLT5wcm9maWxlKCRjb21tZW50KTsKICAgICAgICAg
ICAkc3RhdHMtPnByb2ZpbGUoYmVnaW4gPT4gJGJsb2NrX25hbWUsIGNvbW1lbnQgPT4kY29tbWVu
dCk7CiAgICAgICAgICAgJHN0YXRzLT5wcm9maWxlKGVuZCA9PiAkYmxvY2tfbmFtZSk7CgogICAg
ICAgTWFya3MgYSBwcm9maWxpbmcgcG9pbnQuICBUaGVzZSBjYW4gYXBwZWFyIGluIHBhaXJzLCB0
byB0aW1lIHRoZSBibG9jayBvZiBjb2RlIGJldHdlZW4KICAgICAgIHRoZSBiZWdpbi9lbmQgcGFp
cnMsIG9yIGJ5IHRoZW1zZWx2ZXMsIGluIHdoaWNoIGNhc2UgdGhlIHRpbWUgb2YgZXhlY3V0aW9u
IHRvIHRoZSBwcmUtCiAgICAgICB2aW91cyBwcm9maWxpbmcgcG9pbnQgd2lsbCBiZSByZXBvcnRl
ZC4KCiAgICAgICBUaGUgYXJndW1lbnQgbWF5IGJlIGVpdGhlciBhIHNpbmdsZSBjb21tZW50IHN0
cmluZyBvciBhIGxpc3Qgb2YgbmFtZS12YWx1ZSBwYWlycy4KICAgICAgIFRodXMgdGhlIGZvbGxv
d2luZyBhcmUgZXF1aXZhbGVudDoKCiAgICAgICAgICAgJHN0YXRzLT5wcm9maWxlKCRjb21tZW50
KTsKICAgICAgICAgICAkc3RhdHMtPnByb2ZpbGUoY29tbWVudCA9PiAkY29tbWVudCk7CgogICAg
ICAgVGhlIGZvbGxvd2luZyBrZXkgbmFtZXMvdmFsdWVzIG1heSBiZSB1c2VkOgoKICAgICAgICog
YmVnaW4gPT4gQUNUSU9OCiAgICAgICAgICAgTWFya3MgdGhlIGJlZ2lubmluZyBvZiBhIGJsb2Nr
LiAgVGhlIHZhbHVlIGlzIHVzZWQgaW4gdGhlIGRlc2NyaXB0aW9uIGluIHRoZSB0aW0tCiAgICAg
ICAgICAgaW5nIHJlcG9ydC4KCiAgICAgICAqIGVuZCA9PiBBQ1RJT04KICAgICAgICAgICBNYXJr
cyB0aGUgZW5kIG9mIHRoZSBibG9jay4gIFRoZSBuYW1lIGdpdmVuIG11c3QgbWF0Y2ggYSBwcmV2
aW91cyDigJliZWdpbuKAmS4gIENvci0KICAgICAgICAgICByZWN0IG5lc3RpbmcgaXMgcmVjb21t
ZW5kZWQsIGFsdGhvdWdoIHRoaXMgbW9kdWxlIGlzIHRvbGVyYW50IG9mIGJsb2NrcyB0aGF0IGFy
ZQogICAgICAgICAgIG5vdCBjb3JyZWN0bHkgbmVzdGVkLCBhbmQgdGhlIHJlcG9ydGVkIHRpbWlu
Z3Mgc2hvdWxkIGFjY3VyYXRlbHkgcmVmbGVjdCB0aGUgdGltZQogICAgICAgICAgIHRha2VuIHRv
IGV4ZWN1dGUgdGhlIGJsb2NrIHdoZXRoZXIgcHJvcGVybHkgbmVzdGVkIG9yIG5vdC4KCiAgICAg
ICAqIGNvbW1lbnQgPT4gQ09NTUVOVAogICAgICAgICAgIENvbW1lbnQgc3RyaW5nOyB1c2UgdGhp
cyB0byBkZXNjcmliZSB0aGUgcHJvZmlsaW5nIHBvaW50LiAgSXQgaXMgY29tYmluZWQgd2l0aCB0
aGUKICAgICAgICAgICBibG9jayBhY3Rpb24gKGlmIGFueSkgaW4gdGhlIHRpbWluZyByZXBvcnQg
ZGVzY3JpcHRpb24gZmllbGQuCgogICAgICAgKiB1aWQgPT4gVUlECiAgICAgICAgICAgQXNzaWdu
IGEgcHJlZGVmaW5lZCB1bmlxdWUgSUQuICBUaGlzIGlzIHVzZWZ1bCBpZiwgZm9yIHdoYXRldmVy
IHJlYXNvbiwgeW91IHdpc2gKICAgICAgICAgICB0byByZWxhdGUgYSBwcm9maWxpbmcgcG9pbnQg
dG8gYSBkaWZmZXJlbnQgcGFyZW50IHRoYW4gaW4gdGhlIG5hdHVyYWwgZXhlY3V0aW9uCiAgICAg
ICAgICAgc2VxdWVuY2UuCgogICAgICAgKiBwYXJlbnQgPT4gVUlECiAgICAgICAgICAgRXhwbGlj
aXRseSByZWxhdGUgdGhlIHByb2ZpbGluZyBwb2ludCBiYWNrIHRvIHRoZSBwYXJlbnQgd2l0aCB0
aGUgc3BlY2lmaWVkIFVJRC4KICAgICAgICAgICByZWN0IG5lc3RpbmcgaXMgcmVjb21tZW5kZWQs
IGFsdGhvdWdoIHRoaXMgbW9kdWxlIGlzIHRvbGVyYW50IG9mIGJsb2NrcyB0aGF0IGFyZQogICAg
ICAgICAgIG5vdCBjb3JyZWN0bHkgbmVzdGVkLCBhbmQgdGhlIHJlcG9ydGVkIHRpbWluZ3Mgc2hv
dWxkIGFjY3VyYXRlbHkgcmVmbGVjdCB0aGUgdGltZQogICAgICAgICAgIHRha2VuIHRvIGV4ZWN1
dGUgdGhlIGJsb2NrIHdoZXRoZXIgcHJvcGVybHkgbmVzdGVkIG9yIG5vdC4KCiAgICAgICAqIGNv
bW1lbnQgPT4gQ09NTUVOVAogICAgICAgICAgIENvbW1lbnQgc3RyaW5nOyB1c2UgdGhpcyB0byBk
ZXNjcmliZSB0aGUgcHJvZmlsaW5nIHBvaW50LiAgSXQgaXMgY29tYmluZWQgd2l0aCB0aGUKICAg
ICAgICAgICBibG9jayBhY3Rpb24gKGlmIGFueSkgaW4gdGhlIHRpbWluZyByZXBvcnQgZGVzY3Jp
cHRpb24gZmllbGQuCgogICAgICAgKiB1aWQgPT4gVUlECiAgICAgICAgICAgQXNzaWduIGEgcHJl
ZGVmaW5lZCB1bmlxdWUgSUQuICBUaGlzIGlzIHVzZWZ1bCBpZiwgZm9yIHdoYXRldmVyIHJlYXNv
biwgeW91IHdpc2gKICAgICAgICAgICB0byByZWxhdGUgYSBwcm9maWxpbmcgcG9pbnQgdG8gYSBk
aWZmZXJlbnQgcGFyZW50IHRoYW4gaW4gdGhlIG5hdHVyYWwgZXhlY3V0aW9uCiAgICAgICAgICAg
c2VxdWVuY2UuCgogICAgICAgKiBwYXJlbnQgPT4gVUlECiAgICAgICAgICAgRXhwbGljaXRseSBy
ZWxhdGUgdGhlIHByb2ZpbGluZyBwb2ludCBiYWNrIHRvIHRoZSBwYXJlbnQgd2l0aCB0aGUgc3Bl
Y2lmaWVkIFVJRC4KICAgICAgICAgICBUaGUgcHJvZmlsaW5nIHBvaW50IHdpbGwgYmUgaWdub3Jl
ZCBpZiB0aGUgVUlEIGhhcyBub3QgYmVlbiBwcmV2aW91c2x5IGRlZmluZWQuCgogICAgICAgUmV0
dXJucyB0aGUgVUlEIG9mIHRoZSBjdXJyZW50IHBvaW50IGluIHRoZSBwcm9maWxlIHRyZWUuICBU
aGUgVUlEIGlzIGF1dG9tYXRpY2FsbHkKICAgICAgIGFzc2lnbmVkIGlmIG5vdCBleHBsaWNpdGx5
IGdpdmVuLgoKICAgICAgIGVsYXBzZWQKCiAgICAgICAgICAgJGVsYXBzZWQgPSAkc3RhdHMtPmVs
YXBzZWQKCiAgICAgICBHZXQgdGhlIHRvdGFsIGVsYXBzZWQgdGltZSAoaW4gc2Vjb25kcykgc2lu
Y2UgdGhlIG9iamVjdCB3YXMgY3JlYXRlZC4KCiAgICAgICByZXBvcnQKCiAgICAgICAgICAgcHJp
bnQgJHN0YXRzLT5yZXBvcnQgLiJcbiI7CiAgICAgICAgICAgJHJlcG9ydCA9ICRzdGF0cy0+cmVw
b3J0OwogICAgICAgICAgIEByZXBvcnQgPSAkc3RhdHMtPnJlcG9ydDsKCiAgICAgICBJbiBzY2Fs
YXIgY29udGV4dCwgZ2VuZXJhdGVzIGEgdGV4dHVhbCByZXBvcnQuICBJbiBhcnJheSBjb250ZXh0
LCByZXR1cm5zIHRoZSBhcnJheSBvZgogICAgICAgcmVzdWx0cyB3aGVyZSBlYWNoIHJvdyBjb21w
cmlzZXM6CgogICAgICAgICAgIFsgZGVwdGgsIGRlc2NyaXB0aW9uLCB0aW1lLCByb2xsdXAgXQoK
ICAgICAgIFRoZSBkZXB0aCBpcyB0aGUgY2FsbGluZyBzdGFjayBsZXZlbCBvZiB0aGUgcHJvZmls
aW5nIHBvaW50LgoKICAgICAgIFRoZSBkZXNjcmlwdGlvbiBpcyBhIGNvbWJpbmF0aW9uIG9mIHRo
ZSBibG9jayBuYW1lIGFuZCBjb21tZW50LgoKICAgICAgIFRoZSB0aW1lIHJlcG9ydGVkIGZvciBl
YWNoIGJsb2NrIGlzIHRoZSB0b3RhbCBleGVjdXRpb24gdGltZSBmb3IgdGhlIGJsb2NrLCBhbmQg
dGhlCiAgICAgICB0aW1lIGFzc29jaWF0ZWQgd2l0aCBlYWNoIGludGVybWVkaWF0ZSBwcm9maWxp
bmcgcG9pbnQgaXMgdGhlIGVsYXBzZWQgdGltZSBmcm9tIHRoZQogICAgICAgcHJldmlvdXMgcHJv
ZmlsaW5nIHBvaW50LgoKICAgICAgIFRoZSDigJlyb2xsdXDigJkgZmxhZyBpbmRpY2F0ZXMgd2hl
dGhlciB0aGUgcmVwb3J0ZWQgdGltZSBpcyB0aGUgcm9sbGVkIHVwIHRpbWUgZm9yIHRoZQogICAg
ICAgYmxvY2ssIG9yIHRoZSBlbGFwc2VkIHRpbWUgZnJvbSB0aGUgcHJldmlvdXMgcHJvZmlsaW5n
IHBvaW50LgoKU0VFIEFMU08KICAgICAgIENhdGFseXN0LgoKQVVUSE9SCiAgICAgICBKb24gU2No
dXR6CgpDT1BZUklHSFQKICAgICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlLCB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSBzYW1lCiAgICAg
ICB0ZXJtcyBhcyBQZXJsIGl0c2VsZi4KCnBlcmwgdjUuOC44ICAgICAgICAgICAgICAgICAgIENh
dGFseXN0LVJ1bnRpbWUtNS43MDEwOjpsaWI6OkNhdGFseXN0OjpTdGF0cygzKQoKLS0tLS0tLS0t
LS0tLS0gbmV4dCBwYXJ0IC0tLS0tLS0tLS0tLS0tCkEgbm9uLXRleHQgYXR0YWNobWVudCB3YXMg
c2NydWJiZWQuLi4KTmFtZTogY2F0YWx5c3Qtc3RhdHMucGF0Y2gKVHlwZTogdGV4dC94LXBhdGNo
ClNpemU6IDE5ODg4IGJ5dGVzCkRlc2M6IG5vdCBhdmFpbGFibGUKVXJsIDogaHR0cDovL2xpc3Rz
LnNjc3lzLmNvLnVrL3BpcGVybWFpbC9jYXRhbHlzdC1kZXYvYXR0YWNobWVudHMvMjAwNzEwMTYv
YzRhZjJjZGQvY2F0YWx5c3Qtc3RhdHMtMDAwMS5iaW4K


More information about the Catalyst-dev mailing list