* PG statechart @ 2013-04-26 15:20 Loic Dachary 2013-04-26 16:07 ` Noah Watkins 0 siblings, 1 reply; 6+ messages in thread From: Loic Dachary @ 2013-04-26 15:20 UTC (permalink / raw) To: Ceph Development [-- Attachment #1: Type: text/plain, Size: 371 bytes --] Hi, I was considering drawing a statechart ( http://www.math-cs.gordon.edu/courses/cs211/ATMExample/SessionStatechart.gif ) to better understand the transitions of PG https://github.com/ceph/ceph/blob/master/src/osd/PG.h#L1341 and realized that it probably already exists somewhere. Does it ? /me hopefull ;-) -- Loïc Dachary, Artisan Logiciel Libre [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 262 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: PG statechart 2013-04-26 15:20 PG statechart Loic Dachary @ 2013-04-26 16:07 ` Noah Watkins 2013-04-27 4:21 ` Loic Dachary 0 siblings, 1 reply; 6+ messages in thread From: Noah Watkins @ 2013-04-26 16:07 UTC (permalink / raw) To: Loic Dachary; +Cc: Ceph Development Boost Statechart Viewer generates GraphViz: http://rtime.felk.cvut.cz/statechart-viewer/ Having trouble with my LLVM environment on 12.04, so I haven't tested it. -Noah On Apr 26, 2013, at 8:20 AM, Loic Dachary <loic@dachary.org> wrote: > Hi, > > I was considering drawing a statechart ( http://www.math-cs.gordon.edu/courses/cs211/ATMExample/SessionStatechart.gif ) to better understand the transitions of PG > > https://github.com/ceph/ceph/blob/master/src/osd/PG.h#L1341 > > and realized that it probably already exists somewhere. Does it ? > > /me hopefull ;-) > > -- > Loïc Dachary, Artisan Logiciel Libre > -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: PG statechart 2013-04-26 16:07 ` Noah Watkins @ 2013-04-27 4:21 ` Loic Dachary 2013-04-27 4:49 ` Noah Watkins 0 siblings, 1 reply; 6+ messages in thread From: Loic Dachary @ 2013-04-27 4:21 UTC (permalink / raw) To: Noah Watkins; +Cc: Ceph Development [-- Attachment #1.1: Type: text/plain, Size: 855 bytes --] Hi Noah, Nice tool :-) Here is the statechart generated from PG.h. Cheers On 04/26/2013 06:07 PM, Noah Watkins wrote: > Boost Statechart Viewer generates GraphViz: > > http://rtime.felk.cvut.cz/statechart-viewer/ > > Having trouble with my LLVM environment on 12.04, so I haven't tested it. > > -Noah > > On Apr 26, 2013, at 8:20 AM, Loic Dachary <loic@dachary.org> wrote: > >> Hi, >> >> I was considering drawing a statechart ( http://www.math-cs.gordon.edu/courses/cs211/ATMExample/SessionStatechart.gif ) to better understand the transitions of PG >> >> https://github.com/ceph/ceph/blob/master/src/osd/PG.h#L1341 >> >> and realized that it probably already exists somewhere. Does it ? >> >> /me hopefull ;-) >> >> -- >> Loïc Dachary, Artisan Logiciel Libre >> > -- Loïc Dachary, Artisan Logiciel Libre [-- Attachment #1.2: PG.pdf --] [-- Type: application/pdf, Size: 14139 bytes --] [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 262 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: PG statechart 2013-04-27 4:21 ` Loic Dachary @ 2013-04-27 4:49 ` Noah Watkins 2013-04-27 8:08 ` Samuel Just 0 siblings, 1 reply; 6+ messages in thread From: Noah Watkins @ 2013-04-27 4:49 UTC (permalink / raw) To: Loic Dachary; +Cc: Ceph Development Very cool! On Apr 26, 2013, at 9:21 PM, Loic Dachary <loic@dachary.org> wrote: > Hi Noah, > > Nice tool :-) Here is the statechart generated from PG.h. > > Cheers > > On 04/26/2013 06:07 PM, Noah Watkins wrote: >> Boost Statechart Viewer generates GraphViz: >> >> http://rtime.felk.cvut.cz/statechart-viewer/ >> >> Having trouble with my LLVM environment on 12.04, so I haven't tested it. >> >> -Noah >> >> On Apr 26, 2013, at 8:20 AM, Loic Dachary <loic@dachary.org> wrote: >> >>> Hi, >>> >>> I was considering drawing a statechart ( http://www.math-cs.gordon.edu/courses/cs211/ATMExample/SessionStatechart.gif ) to better understand the transitions of PG >>> >>> https://github.com/ceph/ceph/blob/master/src/osd/PG.h#L1341 >>> >>> and realized that it probably already exists somewhere. Does it ? >>> >>> /me hopefull ;-) >>> >>> -- >>> Loïc Dachary, Artisan Logiciel Libre >>> >> > > -- > Loïc Dachary, Artisan Logiciel Libre > <PG.pdf> -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: PG statechart 2013-04-27 4:49 ` Noah Watkins @ 2013-04-27 8:08 ` Samuel Just 2013-04-27 9:16 ` Loic Dachary 0 siblings, 1 reply; 6+ messages in thread From: Samuel Just @ 2013-04-27 8:08 UTC (permalink / raw) To: Noah Watkins; +Cc: Loic Dachary, Ceph Development There is actually a peering state diagram generated with the docs: http://ceph.com/docs/master/dev/peering/ Unfortunately, the image comes out rather small, you can generate it for yourself with the script at doc/scripts/gen_state_diagram.py. From admin/build_doc: cat src/osd/PG.h src/osd/PG.cc | doc/scripts/gen_state_diagram.py > doc/dev/peering_graph.generated.dot It's similar to the boost generated one, but also includes most of the state transitions from within the custom_reaction state chart reactions. -Sam On Fri, Apr 26, 2013 at 9:49 PM, Noah Watkins <noah.watkins@inktank.com> wrote: > Very cool! > > On Apr 26, 2013, at 9:21 PM, Loic Dachary <loic@dachary.org> wrote: > >> Hi Noah, >> >> Nice tool :-) Here is the statechart generated from PG.h. >> >> Cheers >> >> On 04/26/2013 06:07 PM, Noah Watkins wrote: >>> Boost Statechart Viewer generates GraphViz: >>> >>> http://rtime.felk.cvut.cz/statechart-viewer/ >>> >>> Having trouble with my LLVM environment on 12.04, so I haven't tested it. >>> >>> -Noah >>> >>> On Apr 26, 2013, at 8:20 AM, Loic Dachary <loic@dachary.org> wrote: >>> >>>> Hi, >>>> >>>> I was considering drawing a statechart ( http://www.math-cs.gordon.edu/courses/cs211/ATMExample/SessionStatechart.gif ) to better understand the transitions of PG >>>> >>>> https://github.com/ceph/ceph/blob/master/src/osd/PG.h#L1341 >>>> >>>> and realized that it probably already exists somewhere. Does it ? >>>> >>>> /me hopefull ;-) >>>> >>>> -- >>>> Loďc Dachary, Artisan Logiciel Libre >>>> >>> >> >> -- >> Loďc Dachary, Artisan Logiciel Libre >> <PG.pdf> > > -- > To unsubscribe from this list: send the line "unsubscribe ceph-devel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: PG statechart 2013-04-27 8:08 ` Samuel Just @ 2013-04-27 9:16 ` Loic Dachary 0 siblings, 0 replies; 6+ messages in thread From: Loic Dachary @ 2013-04-27 9:16 UTC (permalink / raw) To: Samuel Just; +Cc: Ceph Development [-- Attachment #1: Type: text/plain, Size: 3840 bytes --] Hi Sam, I missed this one, thanks for the link :-) It is also a little easier because http://rtime.felk.cvut.cz/statechart-viewer/ complains about missing react for NullEvt and requires the following hack to work diff --git a/src/osd/PG.h b/src/osd/PG.h index 578afd3..f6446a9 100644 --- a/src/osd/PG.h +++ b/src/osd/PG.h @@ -1332,6 +1332,7 @@ public: boost::statechart::result react(const Load&); boost::statechart::result react(const MNotifyRec&); boost::statechart::result react(const MInfoRec&); + boost::statechart::result react(const NullEvt&); boost::statechart::result react(const MLogRec&); boost::statechart::result react(const boost::statechart::event_base&) { return discard_event(); @@ -1353,6 +1354,7 @@ public: boost::statechart::result react(const QueryState& q); boost::statechart::result react(const AdvMap&); boost::statechart::result react(const ActMap&); + boost::statechart::result react(const NullEvt&); boost::statechart::result react(const FlushedEvt&); boost::statechart::result react(const boost::statechart::event_base&) { return discard_event(); @@ -1374,6 +1376,7 @@ public: > reactions; boost::statechart::result react(const QueryState& q); boost::statechart::result react(const AdvMap&); + boost::statechart::result react(const NullEvt&); boost::statechart::result react(const FlushedEvt&); boost::statechart::result react(const boost::statechart::event_base&) { return discard_event(); Cheers On 04/27/2013 10:08 AM, Samuel Just wrote: > There is actually a peering state diagram generated with the docs: > http://ceph.com/docs/master/dev/peering/ > > Unfortunately, the image comes out rather small, you can generate it > for yourself with the script at doc/scripts/gen_state_diagram.py. >>From admin/build_doc: > > cat src/osd/PG.h src/osd/PG.cc | doc/scripts/gen_state_diagram.py > > doc/dev/peering_graph.generated.dot > > It's similar to the boost generated one, but also includes most of the > state transitions from within the custom_reaction state chart > reactions. > -Sam > > On Fri, Apr 26, 2013 at 9:49 PM, Noah Watkins <noah.watkins@inktank.com> wrote: >> Very cool! >> >> On Apr 26, 2013, at 9:21 PM, Loic Dachary <loic@dachary.org> wrote: >> >>> Hi Noah, >>> >>> Nice tool :-) Here is the statechart generated from PG.h. >>> >>> Cheers >>> >>> On 04/26/2013 06:07 PM, Noah Watkins wrote: >>>> Boost Statechart Viewer generates GraphViz: >>>> >>>> http://rtime.felk.cvut.cz/statechart-viewer/ >>>> >>>> Having trouble with my LLVM environment on 12.04, so I haven't tested it. >>>> >>>> -Noah >>>> >>>> On Apr 26, 2013, at 8:20 AM, Loic Dachary <loic@dachary.org> wrote: >>>> >>>>> Hi, >>>>> >>>>> I was considering drawing a statechart ( http://www.math-cs.gordon.edu/courses/cs211/ATMExample/SessionStatechart.gif ) to better understand the transitions of PG >>>>> >>>>> https://github.com/ceph/ceph/blob/master/src/osd/PG.h#L1341 >>>>> >>>>> and realized that it probably already exists somewhere. Does it ? >>>>> >>>>> /me hopefull ;-) >>>>> >>>>> -- >>>>> Loďc Dachary, Artisan Logiciel Libre >>>>> >>>> >>> >>> -- >>> Loďc Dachary, Artisan Logiciel Libre >>> <PG.pdf> >> >> -- >> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in >> the body of a message to majordomo@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html > -- > To unsubscribe from this list: send the line "unsubscribe ceph-devel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Loïc Dachary, Artisan Logiciel Libre [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 262 bytes --] ^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2013-04-27 9:16 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-04-26 15:20 PG statechart Loic Dachary 2013-04-26 16:07 ` Noah Watkins 2013-04-27 4:21 ` Loic Dachary 2013-04-27 4:49 ` Noah Watkins 2013-04-27 8:08 ` Samuel Just 2013-04-27 9:16 ` Loic Dachary
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.