Thanks for the log dump command, I'll keep that in the back pocket, it would have been helpful in a few situations.
I'm trying to microbenchmark the new Weighted Round Robin queue I've been working on and just trying to dump the info to the logs so that I can see it at runtime. So this is in a branch that isn't published yet. In file included from osd/OSD.cc:37:0: osd/OSD.h: In member function ‘virtual void OSD::ShardedOpWQ::_process(uint32_t, ceph::heartbeat_handle_d*)’: osd/OSD.h:1072:7: error: invalid use of non-static data member ‘OSD::whoami’ int whoami; ^ osd/OSD.cc:8270:388: error: from this location dout(15) << "Wrr (" << dendl; ^ osd/OSD.cc:8270:413: error: cannot call member function ‘epoch_t OSD::get_osdmap_epoch()’ without object dout(15) << "Wrr (" << dendl; ^ In file included from osd/OSD.cc:37:0: osd/OSD.h: In member function ‘virtual void OSD::ShardedOpWQ::_enqueue(std::pair<boost::intrusive_ptr<PG>, PGQueueable>)’: osd/OSD.h:1072:7: error: invalid use of non-static data member ‘OSD::whoami’ int whoami; ^ osd/OSD.cc:8361:388: error: from this location dout(15) << "Wrr (" << std::this_thread::get_id() << ") " << sdata->pqueue.get_queue() << ^ osd/OSD.cc:8361:413: error: cannot call member function ‘epoch_t OSD::get_osdmap_epoch()’ without object dout(15) << "Wrr (" << std::this_thread::get_id() << ") " << sdata->pqueue.get_queue() << The second set of errors just gets a string from the get_queue() function, but the problem seems to be with just "dout(15) << "Wrr (" << dendl;" I would think that there is already an object of the OSD created, so I'm a bit confused. Thanks for helping with a simple issue. ---------------- Robert LeBlanc PGP Fingerprint 79A2 9CA4 6CC4 45DD A904 C70E E654 3BB2 FA62 B9F1 On Mon, Nov 23, 2015 at 12:32 PM, Sage Weil <sw...@redhat.com> wrote: > On Mon, 23 Nov 2015, Robert LeBlanc wrote: >> -----BEGIN PGP SIGNED MESSAGE----- >> Hash: SHA256 >> >> Is there a way through the admin socket or inject args that can tell >> the OSD process to dump the in memory logs without crashing? Do you > > Yep, 'ceph daemon osd.NN log dump'. > >> have an idea of the overhead? From the code it looks like it is always >> evaluated, just depends on if it is stored in memory or dumped to >> disk. I'm trying to figure out an issue with dout() right now in the >> code I'm working on (invalid use of static member) and I'm trying to >> understand how it works. > > What's the error and problematic line? > > sage -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html