summaryrefslogtreecommitdiffstats
path: root/net/base/capturing_net_log.h
Commit message (Collapse)AuthorAgeFilesLines
* Certificate Transparency: More unit tests for netlog logging.eranm@google.com2013-12-251-0/+2
| | | | | | | | | | This addresses a TODO from https://codereview.chromium.org/86503002/ BUG=309578 Review URL: https://codereview.chromium.org/117333009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@242494 0039d316-1c4b-4281-b951-d872f2087c98
* Use a direct include of time headers in net/, part 1.avi@chromium.org2013-06-281-1/+1
| | | | | | | | | | BUG=254986 TEST=none TBR=ben@chromium.org Review URL: https://chromiumcodereview.appspot.com/18054009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@209110 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor net::NetLog to provide implementation of observer pattern, not just ↵kouhei@chromium.org2013-06-071-27/+36
| | | | | | | | | | | | | | | | | | the interface. This would make use of net::NetLog::ThreadSafeObserver available from base/net, so custom NetLog implementations can focus on implementing OnAddEntry() without re-implementing all NetLog methods. The implementation of observer pattern was previously provided in ChromeNetLog. The contents of chrome_net_log_unittest are merged to net_log_unittest. TESTS=net_log_unittest BUG=None Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=204861 Review URL: https://chromiumcodereview.appspot.com/16137008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@204946 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 204861 "Refactor net::NetLog to provide implementation of..."kouhei@chromium.org2013-06-071-36/+27
| | | | | | | | | | | | | | | | | | | > Refactor net::NetLog to provide implementation of observer pattern, not just the interface. > This would make use of net::NetLog::ThreadSafeObserver available from base/net, so custom NetLog implementations can focus on implementing OnAddEntry() without re-implementing all NetLog methods. > > The implementation of observer pattern was previously provided in ChromeNetLog. > The contents of chrome_net_log_unittest are merged to net_log_unittest. > > TESTS=net_log_unittest > BUG=None > > Review URL: https://chromiumcodereview.appspot.com/16137008 TBR=kouhei@chromium.org Review URL: https://codereview.chromium.org/15927035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@204892 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor net::NetLog to provide implementation of observer pattern, not just ↵kouhei@chromium.org2013-06-071-27/+36
| | | | | | | | | | | | | | | | the interface. This would make use of net::NetLog::ThreadSafeObserver available from base/net, so custom NetLog implementations can focus on implementing OnAddEntry() without re-implementing all NetLog methods. The implementation of observer pattern was previously provided in ChromeNetLog. The contents of chrome_net_log_unittest are merged to net_log_unittest. TESTS=net_log_unittest BUG=None Review URL: https://chromiumcodereview.appspot.com/16137008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@204861 0039d316-1c4b-4281-b951-d872f2087c98
* LoadTiming in net part 5:mmenke@chromium.org2013-02-021-0/+9
| | | | | | | | | | | | | | | | Add a NetLog event source for SpdyProxyClientSockets, and a couple new NetLog events as well. This results in all requests that go over the same tunnelled stream having the same unique socket ID. This also serves to prevent too much random stuff, like SSL handshakes and SSL reads/writes from being logged in the proxy's SPDY_SESSION. BUG=77446 Review URL: https://codereview.chromium.org/12093011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@180214 0039d316-1c4b-4281-b951-d872f2087c98
* Improve performance of proxy resolver by tracing DNS dependencies.eroman@chromium.org2013-01-301-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | This replaces the multi-threaded V8 proxy resolver implementation, with a faster single-threaded one. The single-threaded version uses some magic to avoid blocking on DNS dependencies, so it is able to handle more parallel requests than the multi-threaded one. Design document: https://docs.google.com/a/chromium.org/document/d/16Ij5OcVnR3s0MH4Z5XkhI9VTPoMJdaBn9rKreAmGOdE/edit This has the benefit of reducing the number of threads that Chrome uses for PAC evaluation, while at the same time speeding up proxy resolving for PAC scripts that do DNS resolving (due to better parallelism). I ran a benchmark to evaluate the effectiveness of this new approach. The benchmark simulates loading the http://www.newyorktimes.com webpage with slow DNS (where each DNS resolve takes 2 seconds), and a maximum DNS resolver parallelism of 10 requests. This webpage resolves the proxy for 221 URLs, across 40 unique hostnames. - Proxy resolving using the old multithreaded code took 24.076 seconds [*] - Proxy resolving using the new code took 8.011 seconds [*] - Without a PAC script, resolving the DNS took 8.003 seconds The new proxy resolving times (8.011s) are much closer to the theoretical best (8.003s)! [*] The PAC script I used for the test was a fairly complex script 20kb (a version of google's corp PAC script modified to always call dnsResolve(host)). I will be adding histograms in a follow-up CL, to measure how often requests need to be restarted, or fall-back to synchronous mode. BUG=119151 Review URL: https://codereview.chromium.org/11885009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@179714 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the rest of #pragma once in one big CL.ajwong@chromium.org2012-07-111-1/+0
| | | | | | | | | For context see this thread: https://groups.google.com/a/chromium.org/forum/?fromgroups#!topic/chromium-dev/RMcVNGjB4II TBR=thakis,pkasting,jam git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146163 0039d316-1c4b-4281-b951-d872f2087c98
* NetLogEventParameter to Callback refactoring 10.mmenke@chromium.org2012-06-191-0/+6
| | | | | | | | | | | Get rid of all uses of NetLog::EventParameters in chrome/browser/extensions/api/web_request R=eroman@chromium.org,battre@chromium.org BUG=126243 Review URL: https://chromiumcodereview.appspot.com/10545172 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142916 0039d316-1c4b-4281-b951-d872f2087c98
* Make NetLog take in callbacks that return Values rathermmenke@chromium.org2012-06-101-5/+1
| | | | | | | | | | | | than refcounted objects. Avoids the need to create classes and copy data. Also no longer get time whenever an event is logged. BUG=126243 Review URL: https://chromiumcodereview.appspot.com/10399083 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141377 0039d316-1c4b-4281-b951-d872f2087c98
* CapturingNetLog - remove maximum entries constructor argument.mmenke@chromium.org2012-06-081-8/+2
| | | | | | | | | | | | Also replace with a NULL NetLog in a couple callsites where it wasn't being used. R=eroman@chromium.org BUG=none Review URL: https://chromiumcodereview.appspot.com/10546071 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141315 0039d316-1c4b-4281-b951-d872f2087c98
* Move CapturingNetLog over to net_test_support from net.mmenke@chromium.org2012-06-081-8/+5
| | | | | | | | | R=eroman@chromium.org BUG=none Review URL: https://chromiumcodereview.appspot.com/10532067 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141265 0039d316-1c4b-4281-b951-d872f2087c98
* Rename CapturingNetLog::Entry to CapturingNetLog::CaptureEntry,mmenke@chromium.org2012-06-021-13/+40
| | | | | | | | | | | | | | | | | | and have it keep its own copy of a NetLog Entry's parameters. This is in preparation for a NetLog refactoring that will result in NetLog parameters lasting no longer than the function call, to avoid always having to copy all parameters. This does make CapturingNetLogs much less efficient themselves, but they should not be used in production code, anyways. TEST=NONE BUG=126243 Review URL: https://chromiumcodereview.appspot.com/10442085 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140146 0039d316-1c4b-4281-b951-d872f2087c98
* Add a source id to global NetLog entries, which makes themmmenke@chromium.org2012-03-151-13/+8
| | | | | | | | | | | | | | easier to sort in about:net-internals, making the world a happier, fuzzier place. Also slightly simplifies the functions to add NetLog entries, and makes it impossible to create a BoundNetLog with both an invalid source and a non-NULL NetLog. BUG=116597 Review URL: https://chromiumcodereview.appspot.com/9585026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126849 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the ChromeNetLog observer classes, using NetLog::ThreadSafeObservermmenke@chromium.org2012-02-291-2/+5
| | | | | | | | | | | instead, slightly modifying the NetLog interface to do so. R=eroman@chromium.org BUG=114611 Review URL: http://codereview.chromium.org/9415013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@124176 0039d316-1c4b-4281-b951-d872f2087c98
* Rename NET_API to NET_EXPORT, and rename NET_TEST to NET_EXPORT_PRIVATE.darin@chromium.org2011-08-121-4/+4
| | | | | | Review URL: http://codereview.chromium.org/7529043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96560 0039d316-1c4b-4281-b951-d872f2087c98
* Remove ChromeNetLog depenency from content/browser/debuggerdpranke@chromium.org2011-07-271-4/+6
| | | | | | | | | | | | Revert r94208 (re-land r94196), add missing NET_API decl. TBR=willchan@chromium.org BUG=84078 TEST=everything compiles Review URL: http://codereview.chromium.org/7477035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94227 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 94196 (broke win shared build) - Remove ChromeNetLog dependency from ↵willchan@chromium.org2011-07-261-6/+4
| | | | | | | | | | | | | | | | | | | | | | | content/browser/debugger. Add Observer concept to net::NetLog. Use net::NetLog::Observer in ChromeNetLog. Remove ChromeNetLog dependency in content/browser/debugger. Forked from http://codereview.chromium.org/7310029/ to finish Jói's patch. BUG=84078 TEST=existing Review URL: http://codereview.chromium.org/7468019 TBR=dpranke@chromium.org Review URL: http://codereview.chromium.org/7517004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94208 0039d316-1c4b-4281-b951-d872f2087c98
* Remove ChromeNetLog dependency from content/browser/debugger.dpranke@chromium.org2011-07-261-4/+6
| | | | | | | | | | | | | | | | | | Add Observer concept to net::NetLog. Use net::NetLog::Observer in ChromeNetLog. Remove ChromeNetLog dependency in content/browser/debugger. Forked from http://codereview.chromium.org/7310029/ to finish Jói's patch. BUG=84078 TEST=existing Review URL: http://codereview.chromium.org/7468019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94196 0039d316-1c4b-4281-b951-d872f2087c98
* net: Add NET_API to net/baservargas@google.com2011-05-181-3/+4
| | | | | | | | BUG=76997 TEST=NONE Review URL: http://codereview.chromium.org/6969077 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85785 0039d316-1c4b-4281-b951-d872f2087c98
* Move some files from base to base/memory.levin@chromium.org2011-03-281-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | raw_scoped_refptr_mismatch_checker.h ref_counted.cc ref_counted.h ref_counted_memory.cc ref_counted_memory.h ref_counted_unittest.cc scoped_callback_factory.h scoped_comptr_win.h scoped_handle.h scoped_native_library.cc scoped_native_library.h scoped_native_library_unittest.cc scoped_nsobject.h scoped_open_process.h scoped_ptr.h scoped_ptr_unittest.cc scoped_temp_dir.cc scoped_temp_dir.h scoped_temp_dir_unittest.cc scoped_vector.h singleton.h singleton_objc.h singleton_unittest.cc linked_ptr.h linked_ptr_unittest.cc weak_ptr.cc weak_ptr.h weak_ptr_unittest.cc BUG=None TEST=Compile Review URL: http://codereview.chromium.org/6714032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79524 0039d316-1c4b-4281-b951-d872f2087c98
* Remove obsolete base/lock.h and fix up callers to use the new header file andbrettw@chromium.org2011-01-211-2/+2
| | | | | | | | | | | the base namespace. Fix several files including lock.h unnecessarily. BUG=none TEST=none Original review=http://codereview.chromium.org/6142009/ Patch by leviw@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72106 0039d316-1c4b-4281-b951-d872f2087c98
* More reordering the methods in headers in net/.erg@chromium.org2011-01-111-7/+7
| | | | | | | | | BUG=68682 TEST=compiles Review URL: http://codereview.chromium.org/6186005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71017 0039d316-1c4b-4281-b951-d872f2087c98
* reapply r70628. It was wrongly blamed for breaking Linux valgrind bots.estade@chromium.org2011-01-071-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | The revert was r70688. original author: Matt Menke First pass at adding http/backend cache events to the NetLog. Adds sources and events for ActiveCacheEntry and EntryImpl objects, as well as adding cache read/write events to HttpCacheTransactions. Most new read/write events are only logged when NetLog logging mode is set to log all events. Also, net-internals now merges begin and end events that have parameters, as long as only one of them has parameters. I think this increases readability, at the cost of making it a little more difficult to follow timings with just the "st" values. BUG=59382 TEST=none yet, other than updates to existing tests. Review URL: http://codereview.chromium.org/6150002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70716 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r70628. It broke Linux valgrind bots. See for exampleestade@chromium.org2011-01-071-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | http://build.chromium.org/p/chromium.memory/builders/Linux%20Tests%20%28valgrind%29%281%29/builds/963 First pass at adding http/backend cache events to the NetLog. Adds sources and events for ActiveCacheEntry and EntryImpl objects, as well as adding cache read/write events to HttpCacheTransactions. Most new read/write events are only logged when NetLog logging mode is set to log all events. Also, net-internals now merges begin and end events that have parameters, as long as only one of them has parameters. I think this increases readability, at the cost of making it a little more difficult to follow timings with just the "st" values. BUG=59382 TEST=none yet, other than updates to existing tests. Originally applied: http://src.chromium.org/viewvc/chrome?view=rev&revision=70618 Reverted: http://src.chromium.org/viewvc/chrome?view=rev&revision=70619 Fixed and trying again... Review URL: http://codereview.chromium.org/6125001 BUG=none TEST=linux valgrind goes green. Review URL: http://codereview.chromium.org/6142003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70688 0039d316-1c4b-4281-b951-d872f2087c98
* First pass at adding http/backend cache events to the NetLog. mmenke@chromium.org2011-01-061-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | Adds sources and events for ActiveCacheEntry and EntryImpl objects, as well as adding cache read/write events to HttpCacheTransactions. Most new read/write events are only logged when NetLog logging mode is set to log all events. Also, net-internals now merges begin and end events that have parameters, as long as only one of them has parameters. I think this increases readability, at the cost of making it a little more difficult to follow timings with just the "st" values. BUG=59382 TEST=none yet, other than updates to existing tests. Originally applied: http://src.chromium.org/viewvc/chrome?view=rev&revision=70618 Reverted: http://src.chromium.org/viewvc/chrome?view=rev&revision=70619 Fixed and trying again... Review URL: http://codereview.chromium.org/6125001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70628 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 70618 - First pass at adding http/backend cache events to the NetLog. mmenke@chromium.org2011-01-061-7/+0
| | | | | | | | | | | | | | | | | | | | | | | Adds sources and events for ActiveCacheEntry and EntryImpl objects, as well as adding cache read/write events to HttpCacheTransactions. Most new read/write events are only logged when NetLog logging mode is set to log all events. Also, net-internals now merges begin and end events that have parameters, as long as only one of them has parameters. I think this increases readability, at the cost of making it a little more difficult to follow timings with just the "st" values. BUG=59382 TEST=none yet, other than updates to existing tests. Review URL: http://codereview.chromium.org/4067002 TBR=mmenke@chromium.org Review URL: http://codereview.chromium.org/6005015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70619 0039d316-1c4b-4281-b951-d872f2087c98
* First pass at adding http/backend cache events to the NetLog. mmenke@chromium.org2011-01-061-0/+7
| | | | | | | | | | | | | | | | | | | | Adds sources and events for ActiveCacheEntry and EntryImpl objects, as well as adding cache read/write events to HttpCacheTransactions. Most new read/write events are only logged when NetLog logging mode is set to log all events. Also, net-internals now merges begin and end events that have parameters, as long as only one of them has parameters. I think this increases readability, at the cost of making it a little more difficult to follow timings with just the "st" values. BUG=59382 TEST=none yet, other than updates to existing tests. Review URL: http://codereview.chromium.org/4067002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70618 0039d316-1c4b-4281-b951-d872f2087c98
* Start deinlining non-empty virtual methods. (This will be automatically checkederg@google.com2010-12-091-1/+1
| | | | | | | | | | | for in the future.) BUG=none TEST=compiles Review URL: http://codereview.chromium.org/5574006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68746 0039d316-1c4b-4281-b951-d872f2087c98
* Update NetLog to be threadsafe.mmenke@chromium.org2010-12-011-10/+11
| | | | | | | | | | | | | | | | | | The ChromeNetLog is now owned by the browser process, and passed to the IOThread on creation. NetLog entries can be added from any thread. Observers must be able to handle having log entries added from any thread. Observers can add/remove themselves on any thread. BUG=63334 TEST=None, yet Review URL: http://codereview.chromium.org/4118004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67851 0039d316-1c4b-4281-b951-d872f2087c98
* Add actual bytes sent/received to net-internals.mmenke@chromium.org2010-10-141-1/+1
| | | | | | | | | BUG=54745 TEST=manual Review URL: http://codereview.chromium.org/3582007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62627 0039d316-1c4b-4281-b951-d872f2087c98
* Reapply r61237: FBTF: Another big ctor/dtor cleanup found by automated tools.erg@google.com2010-10-041-9/+7
| | | | | | | | | | | | | | | Removes changes to code in webkit/ that broke chrome_frame. Will debug that portion later. (Shaves ~2MB off Linux Debug .a files) BUG=none TEST=compiles First Review URL: http://codereview.chromium.org/3563004 Review URL: http://codereview.chromium.org/3621003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61435 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "FBTF: Another big ctor/dtor cleanup found by automated tools."erg@google.com2010-10-011-7/+9
| | | | | | | | | | | This reverts commit 27ea47d65cf8767f350113d5ad9e25170efde811 (r61237). BUG=none TEST=compiles Review URL: http://codereview.chromium.org/3609005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61240 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Another big ctor/dtor cleanup found by automated tools.erg@google.com2010-10-011-9/+7
| | | | | | | | | | | (Shaves ~2MB off Linux Debug .a files) BUG=none TEST=compiles Review URL: http://codereview.chromium.org/3563004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61237 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a regression whereby full-granularity network events were being captured ↵eroman@chromium.org2010-08-311-1/+1
| | | | | | | | | | by PassiveLogCollector. BUG=53883 TEST=Load a webpage. Now open about:net-internals and verify that the log for that URL does NOT contain the HTTP request/response headers. Review URL: http://codereview.chromium.org/3274016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58070 0039d316-1c4b-4281-b951-d872f2087c98
* `#pragma once` for app, base, chrome, gfx, ipc, net, skia, viewsthakis@chromium.org2010-07-261-0/+1
| | | | | | | | | BUG=50273 TEST=everything still builds, build is 10% faster on windows, same speed on mac/linux TBR: erg git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53716 0039d316-1c4b-4281-b951-d872f2087c98
* Attempt four at landing the "histogram.h removed from message_loop.h" patch.erg@chromium.org2010-07-151-0/+1
| | | | | | | | | | | | | | Previously committed as r52349 and r52336. Related commits: r52367, r52364 and r52343. Rerunning trybots due to previous trybot breakage. TEST=none BUG=none Review URL: http://codereview.chromium.org/2965015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52496 0039d316-1c4b-4281-b951-d872f2087c98
* Revert everything related to the relanding.erg@chromium.org2010-07-141-1/+0
| | | | | | Review URL: http://codereview.chromium.org/2982009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52367 0039d316-1c4b-4281-b951-d872f2087c98
* Reland r52336.erg@chromium.org2010-07-141-0/+1
| | | | | | | | | | | | | | (I accidentally committed a previous version of the patch (the fixed version was in codereview since I had switched to my mac to address this exact compile failure.) BUG=none TEST=none TBR=evan Review URL: http://codereview.chromium.org/2937010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52349 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 52336 - More header cleanup:erg@chromium.org2010-07-141-1/+0
| | | | | | | | | | | | | | | | - Some cleanup to url_request.h - Remove task.h from headers that don't need it. - Remove histogram.h from message_loop.h BUG=none TEST=none Review URL: http://codereview.chromium.org/2986002 TBR=erg@chromium.org Review URL: http://codereview.chromium.org/2969006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52343 0039d316-1c4b-4281-b951-d872f2087c98
* More header cleanup:erg@chromium.org2010-07-141-0/+1
| | | | | | | | | | | | | - Some cleanup to url_request.h - Remove task.h from headers that don't need it. - Remove histogram.h from message_loop.h BUG=none TEST=none Review URL: http://codereview.chromium.org/2986002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52336 0039d316-1c4b-4281-b951-d872f2087c98
* More cleanup to address TODOs in net_log.h.eroman@chromium.org2010-04-281-0/+109
* Removes 9 methods: AddEventWithParameters, BeginEventWithParameters, EndEventWithParameters, BeginEventWithString, BeginEventWithInteger, AddEventWithString, AddEventWithInteger, EndEventWithParameters, EndEventWithInteger. This was becoming ridiculous, instead made the EventParameters* a required parameter. * Moves CapturingBoundNetLog / CapturingNetLog to its own file. BUG=37421 Review URL: http://codereview.chromium.org/1746012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45843 0039d316-1c4b-4281-b951-d872f2087c98