All of lore.kernel.org
 help / color / mirror / Atom feed
* 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.